Skip to content

Commit

Permalink
Merge #4091 Various fixes for the refactored workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
HebaruSan committed May 19, 2024
2 parents 1df93bd + e46a1e8 commit a9c8f29
Show file tree
Hide file tree
Showing 7 changed files with 123 additions and 92 deletions.
8 changes: 5 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,16 @@ jobs:
- uses: actions/checkout@v4
- name: Build ckan.exe and netkan.exe
run: ./build --configuration=${{ inputs.configuration }}
- uses: actions/upload-artifact@v4
- name: Upload repack artifact
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.configuration }}-repack-unsigned
path: _build/repack/
retention-days: 7
- uses: actions/upload-artifact@v4
- name: Upload out artifact
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.configuration }}-out
name: ${{ inputs.configuration }}-out-unsigned
path: _build/out/
retention-days: 1
- name: Upload ckan.exe artifact
Expand Down
120 changes: 70 additions & 50 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,57 +21,76 @@ jobs:
smoke-inflator:
uses: ./.github/workflows/smoke.yml

upload-release-s3:
needs:
- test-release
- smoke-inflator
check-dev-build:
runs-on: ubuntu-latest
outputs:
odd-build: ${{ steps.check-version.outputs.odd-build }}
credentials: ${{ steps.credentials.outputs.credentials }}
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
dev-build: ${{ steps.check-version.outputs.dev-build }}
steps:
- uses: actions/checkout@v4
- name: Check version
- name: Treat as dev build if final piece of version is odd
id: check-version
shell: bash
run: |
VERSION=$(egrep '^\s*\#\#\s+v.*$' CHANGELOG.md | head -1 | sed -e 's/^\s*\#\#\s\+v//' -e 's/-.*$//')
if [[ $VERSION =~ [13579]$ ]]
then
echo 'odd-build=true' >> $GITHUB_OUTPUT
echo 'dev-build=true' >> $GITHUB_OUTPUT
fi
- uses: actions/download-artifact@v4
with:
name: Release-repack-unsigned
path: _build/repack/
- name: Credentials
id: credentials
run: echo 'credentials=false' >> $GITHUB_OUTPUT
if: ${{ env.AWS_ACCESS_KEY_ID && env.AWS_SECRET_ACCESS_KEY }}
- name: Configure AWS Credentials
upload-release-s3:
needs:
- test-release
- smoke-inflator
runs-on: ubuntu-latest
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
steps:
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ env.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ env.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
if: steps.credentials.outputs.credentials
- name: Push deb to S3
- uses: actions/checkout@v4
- name: Download repack artifact
uses: actions/download-artifact@v4
with:
name: Release-repack-unsigned
path: _build/repack/
- uses: actions/setup-python@v5
with:
python-version: 3.11
- name: Create a version.json file for dev builds on S3
shell: bash
run: |
export PIP_ROOT_USER_ACTION=ignore
pip install gitpython
git config --global --add safe.directory '*'
python bin/version_info.py > _build/repack/Release/version.json
- name: Push ckan.exe, netkan.exe, and version.json to S3
run: aws s3 sync _build/repack/Release s3://${AWS_S3_BUCKET} --follow-symlinks
if: steps.credentials.outputs.credentials

upload-deb:
needs: upload-release-s3
needs:
- check-dev-build
- test-release
- smoke-inflator
runs-on: ubuntu-latest
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
if: needs.upload-release-s3.outputs.odd-build && needs.upload-release-s3.outputs.credentials
if: needs.check-dev-build.outputs.dev-build
steps:
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ env.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ env.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
- name: Download repack artifact
uses: actions/download-artifact@v4
with:
name: Release-repack-unsigned
path: _build/repack/
Expand All @@ -92,29 +111,33 @@ jobs:
DEBIAN_PRIVATE_KEY: ${{ secrets.DEBIAN_PRIVATE_KEY }}
run: ./build deb-sign --configuration=Release --exclusive
if: ${{ env.DEBIAN_PRIVATE_KEY }}
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ env.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ env.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Push deb to S3
run: aws s3 sync _build/deb/apt-repo-root s3://${AWS_S3_BUCKET}/deb --follow-symlinks
- name: Push stable APT repo to S3
- name: Push nightly APT repo to S3
run: aws s3 sync _build/deb/apt-repo-dist s3://${AWS_S3_BUCKET}/deb/dists/nightly --follow-symlinks

upload-rpm:
needs: upload-release-s3
needs:
- check-dev-build
- test-release
- smoke-inflator
runs-on: ubuntu-latest
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
if: needs.upload-release-s3.outputs.odd-build && needs.upload-release-s3.outputs.credentials
if: needs.check-dev-build.outputs.dev-build
steps:
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- uses: actions/checkout@v4
- name: Installing rpm build dependencies
- name: Install rpm build dependencies
run: sudo apt-get install -y createrepo-c
- uses: actions/download-artifact@v4
- name: Download repack artifact
uses: actions/download-artifact@v4
with:
name: Release-repack-unsigned
path: _build/repack/
Expand All @@ -127,35 +150,31 @@ jobs:
echo "$DEBIAN_PRIVATE_KEY" | base64 --decode | gpg --batch --import
gpg --list-secret-keys --keyid-format LONG
if: ${{ env.DEBIAN_PRIVATE_KEY }}
- name: Build rpm repository
- name: Build nightly RPM repo
env:
CODENAME: nightly
DEBIAN_PRIVATE_KEY: ${{ secrets.DEBIAN_PRIVATE_KEY }}
run: ./build rpm-repo --configuration=Release --exclusive
if: ${{ env.DEBIAN_PRIVATE_KEY }}
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Push rpm to S3
- name: Push nightly PRM repo to S3
run: aws s3 sync _build/rpm/repo s3://${AWS_S3_BUCKET}/rpm/nightly --follow-symlinks

upload-inflator:
needs: upload-release-s3
needs:
- test-release
- smoke-inflator
runs-on: ubuntu-latest
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
if: needs.upload-release-s3.outputs.credentials
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
- name: Download repack artifact
uses: actions/download-artifact@v4
with:
name: Release-repack-unsigned
path: _build/repack/
- name: Generate inflator Docker image and publish to Hub
- name: Generate inflator Docker image, publish to Hub, and restart AWS containers
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
Expand All @@ -174,7 +193,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
- name: Download repack artifact
uses: actions/download-artifact@v4
with:
name: Release-repack-unsigned
path: _build/repack/
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/notify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,17 @@ on:

jobs:
notify:
name: Notify Discord
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Clone Discord hooks repo
uses: actions/checkout@v4
with:
repository: DiscordHooks/github-actions-discord-webhook
path: webhook
fetch-depth: 1
- env:
- name: Send notification
env:
WORKFLOW_NAME: ${{ inputs.name }}
HOOK_OS_NAME: ${{ runner.os }}
shell: bash
Expand Down
67 changes: 35 additions & 32 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,10 @@ jobs:
- test-release
- smoke-inflator
steps:
- uses: actions/download-artifact@v4
- name: Download out artifact
uses: actions/download-artifact@v4
with:
name: Release-repack-out
name: Release-out-unsigned
path: _build/out/
- name: Publish ckan.dll to NuGet
env:
Expand All @@ -59,15 +60,16 @@ jobs:
- smoke-inflator
steps:
- uses: actions/checkout@v4
- name: OSX build dependencies
- name: Install OSX build dependencies
run: sudo apt-get install -y libplist-utils xorriso
- uses: actions/download-artifact@v4
- name: Download repack artifact
uses: actions/download-artifact@v4
with:
name: Release-repack-unsigned
path: _build/repack/
- name: Build dmg
run: ./build osx --configuration=Release --exclusive
- name: Upload OSX release
- name: Upload OSX release asset
run: gh release upload ${{ github.event.release.tag_name }} _build/osx/CKAN.dmg
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -78,12 +80,19 @@ jobs:
- test-release
- smoke-inflator
steps:
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
- name: Download repack artifact
uses: actions/download-artifact@v4
with:
name: Release-repack-unsigned
path: _build/repack/
- name: Set Version
- name: Set deb version
run: |
VERSION=$(echo "${{ github.event.release.tag_name }}" | tr -d "v")
echo "DEB_VERSION=${VERSION}.$(date +'%g%j')" >> $GITHUB_ENV
Expand All @@ -104,17 +113,11 @@ jobs:
DEBIAN_PRIVATE_KEY: ${{ secrets.DEBIAN_PRIVATE_KEY }}
run: ./build deb-sign --configuration=Release --exclusive
if: ${{ env.DEBIAN_PRIVATE_KEY }}
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Push deb to S3
run: aws s3 sync _build/deb/apt-repo-root s3://${AWS_S3_BUCKET}/deb --follow-symlinks
- name: Push stable APT repo to S3
run: aws s3 sync _build/deb/apt-repo-dist s3://${AWS_S3_BUCKET}/deb/dists/stable --follow-symlinks
- name: Upload Deb release
- name: Upload deb release asset
run: gh release upload ${{ github.event.release.tag_name }} _build/deb/ckan_${DEB_VERSION}_all.deb
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -125,16 +128,23 @@ jobs:
- test-release
- smoke-inflator
steps:
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- uses: actions/checkout@v4
- name: Installing rpm build dependencies
- name: Install rpm build dependencies
run: sudo apt-get install -y createrepo-c
- uses: actions/download-artifact@v4
- name: Download repack artifact
uses: actions/download-artifact@v4
with:
name: Release-repack-unsigned
path: _build/repack/
- name: Set Version
- name: Set rpm version
run: |
VERSION=$(echo "${{ github.event.release.tag_name }}" | tr -d "v")
VERSION=$(echo "${{ github.event.release.tag_name }}" | tr -d v)
echo "RPM_VERSION=${VERSION}.$(date +'%g%j')" >> $GITHUB_ENV
- name: Build rpm
run: ./build rpm --configuration=Release --exclusive
Expand All @@ -144,21 +154,15 @@ jobs:
run: |
echo "$DEBIAN_PRIVATE_KEY" | base64 --decode | gpg --batch --import
gpg --list-secret-keys --keyid-format LONG
- name: Build rpm repository
- name: Build stable RPM repo
env:
CODENAME: stable
DEBIAN_PRIVATE_KEY: ${{ secrets.DEBIAN_PRIVATE_KEY }}
run: ./build rpm-repo --configuration=Release --exclusive
if: ${{ env.DEBIAN_PRIVATE_KEY }}
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Push rpm to S3
- name: Push stable RPM repo to S3
run: aws s3 sync _build/rpm/repo s3://${AWS_S3_BUCKET}/rpm/stable --follow-symlinks
- name: Upload RPM release
- name: Upload RPM release asset
run: gh release upload ${{ github.event.release.tag_name }} _build/rpm/RPMS/noarch/ckan-${RPM_VERSION}-1.noarch.rpm
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -171,14 +175,13 @@ jobs:
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/download-artifact@v4
- name: Download repack artifact
uses: actions/download-artifact@v4
with:
name: Release-repack-unsigned
path: _build/repack/
- name: Upload ckan.exe
run: gh release upload ${{ github.event.release.tag_name }} _build/repack/Release/ckan.exe
- name: Upload AutoUpdater.exe
run: gh release upload ${{ github.event.release.tag_name }} _build/repack/Release/AutoUpdater.exe
- name: Upload ckan.exe and AutoUpdater.exe release assets
run: gh release upload ${{ github.event.release.tag_name }} _build/repack/Release/ckan.exe _build/repack/Release/AutoUpdater.exe

notify-discord:
needs:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/smoke.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
- name: Download repack artifact
uses: actions/download-artifact@v4
with:
name: Release-repack-unsigned
path: _build/repack/
Expand Down
Loading

0 comments on commit a9c8f29

Please sign in to comment.