diff options
Diffstat (limited to '.github/workflows/CI.yml')
-rw-r--r-- | .github/workflows/CI.yml | 33 |
1 files changed, 30 insertions, 3 deletions
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 |