aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/CI.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/CI.yml')
-rw-r--r--.github/workflows/CI.yml33
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