diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 74d6af6..2d727b2 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -1,11 +1,13 @@ name: Docker CI + on: pull_request: push: schedule: - cron: '13 13 * * 3' + jobs: buildx: strategy: @@ -17,8 +19,6 @@ jobs: publish: ${{ github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/docker/') || github.ref == 'refs/heads/master') }} - release: ${{ github.event_name == 'push' - && startsWith(github.ref, 'refs/tags/docker/') }} - dockerfile: alpine cache: ${{ github.ref != 'refs/heads/master' @@ -26,8 +26,6 @@ jobs: publish: ${{ github.event_name == 'push' && (startsWith(github.ref, 'refs/tags/docker/') || github.ref == 'refs/heads/master') }} - release: ${{ github.event_name == 'push' - && startsWith(github.ref, 'refs/tags/docker/') }} runs-on: ubuntu-latest steps: @@ -115,14 +113,14 @@ jobs: DOCKERFILE=${{ matrix.dockerfile }} ref=${{ fromJSON(steps.git.outputs.result).ref }} working-directory: ./docker/coturn - if: ${{ matrix.release }} + if: ${{ matrix.publish && github.ref != 'refs/heads/master' }} - name: Publish edge Docker tags run: make docker.push tags=edge-${{ matrix.dockerfile }} DOCKERFILE=${{ matrix.dockerfile }} ref=${{ fromJSON(steps.git.outputs.result).ref }} working-directory: ./docker/coturn - if: ${{ matrix.publish && !matrix.release }} + if: ${{ matrix.publish && github.ref == 'refs/heads/master' }} # On GitHub Container Registry README is automatically updated on pushes. @@ -148,16 +146,22 @@ jobs: if: ${{ matrix.publish }} + release: + needs: ['buildx'] + if: ${{ github.event_name == 'push' + && startsWith(github.ref, 'refs/tags/docker/') }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Parse release version from Git tag id: release run: echo ::set-output name=VERSION::${GITHUB_REF#refs/tags/docker/} - if: ${{ matrix.release }} - name: Parse CHANGELOG link id: changelog run: echo ::set-output name=LINK::https://github.com/${{ github.repository }}/blob/docker/${{ steps.release.outputs.VERSION }}/docker/coturn/CHANGELOG.md#$(sed -n '/^## \[${{ steps.release.outputs.VERSION }}\]/{s/^## \[\(.*\)\][^0-9]*\([0-9].*\)/\1--\2/;s/[^0-9a-z-]*//g;p;}' CHANGELOG.md) working-directory: ./docker/coturn - if: ${{ matrix.release }} - name: Release on GitHub uses: actions/create-release@v1 @@ -165,7 +169,6 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: docker/${{ steps.release.outputs.VERSION }} - release_name: ${{ steps.release.outputs.VERSION }} + release_name: docker/${{ steps.release.outputs.VERSION }} body: | [Changelog](${{ steps.changelog.outputs.LINK }}) - if: ${{ matrix.release }}