From a460e2760a4e33f086c9e1669b08e53885bdc197 Mon Sep 17 00:00:00 2001 From: Sebastian Ehlert <28669218+awvwgk@users.noreply.github.com> Date: Tue, 2 Nov 2021 16:21:31 +0100 Subject: Add workflow for continuous delivery (#569) --- .github/workflows/CI.yml | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) (limited to '.github/workflows/CI.yml') diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index b2d5aef..bc36835 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -167,17 +167,38 @@ jobs: path: ${{ env.FPM_RELEASE }} upload-artifacts: - if: github.event_name == 'release' + if: ${{ github.event_name == 'release' && contains(github.ref, 'v') || github.event_name == 'push' }} runs-on: ubuntu-latest needs: - build steps: + - id: deploy-on-push + if: ${{ github.event_name == 'push' }} + run: + echo "::set-output name=result::${{ env.DEPLOY_BRANCH }}" + env: + DEPLOY_BRANCH: ${{ secrets.DEPLOY_BRANCH && contains(github.ref, secrets.DEPLOY_BRANCH) && 1 || 0 }} + + - uses: actions/checkout@v2 + if: ${{ github.event_name == 'push' }} + - name: Download Artifacts uses: actions/download-artifact@v2 with: path: ${{ github.workspace }} # This will download all files + - name: Normalize file names for continuous delivery + if: ${{ github.event_name == 'push' }} + run: | + for output in fpm-*/fpm-*; do + pushd $(dirname "$output") + mv -v $(basename $output) $(basename $output | sed -E '${{ env.replace }}') + popd + done + env: + replace: 's/-([0-9]+\.[0-9]+\.[0-9]+-[0-9]+-g)?[0-9a-f]+//' + - name: Create SHA256 checksums run: | for output in fpm-*/fpm-*; do @@ -186,12 +207,18 @@ jobs: popd done + - name: Move/Create continuous tag + if: ${{ github.event_name == 'push' && steps.deploy-on-push.outputs.result != 0 }} + run: | + git tag --force 'current' ${{ github.sha }} + git push --tags --force + - name: Upload assets - if: github.event_name == 'release' uses: svenstaro/upload-release-action@v2 + if: ${{ github.event_name == 'release' || steps.deploy-on-push.outputs.result != 0 }} with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: fpm-*/fpm-* file_glob: true - tag: ${{ github.ref }} + tag: ${{ github.event_name == 'release' && github.ref || 'current'}} overwrite: true -- cgit v1.2.3