From eb61293a9d4bbb8c789f9c7b5e2e933322a5469b Mon Sep 17 00:00:00 2001 From: NSMBot Date: Thu, 17 Jun 2021 13:45:39 +0000 Subject: [PATCH] Sync files with networkservicemesh/cmd-template This PR syncs files with https://github.com/networkservicemesh/cmd-template Revision: https://github.com/networkservicemesh/cmd-template/commits/60159f3a0d80d54f9a68ec4e2fa9f0afd5b0ff01 commit 60159f3a0d80d54f9a68ec4e2fa9f0afd5b0ff01 Author: Denis Tingaikin <49399980+denis-tingaikin@users.noreply.github.com> Date: Thu Jun 17 20:44:32 2021 +0700 feat: Add release docker-push-ghcr workflow (#78) * Add release docker-push-ghcr Signed-off-by: denis-tingajkin * apply review comments Signed-off-by: denis-tingajkin Signed-off-by: NSMBot --- .github/workflows/ci.yaml | 3 ++- .github/workflows/release.yml | 40 +++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 71cf578..560e4f9 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -3,7 +3,8 @@ name: ci on: push: branches: - - main + - 'main' + - 'release/**' pull_request: jobs: yamllint: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..48f8877 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,40 @@ +--- +name: Release + +on: + workflow_run: + types: + - completed + workflows: + - 'ci' +jobs: + docker: + runs-on: ubuntu-latest + if: ${{ github.event.workflow_run.conclusion == 'success' && contains(github.event.workflow_run.head_branch, 'release/') }} + steps: + - name: Get tag + run: | + branch=${{github.event.workflow_run.head_branch}} + echo '::set-output name=tag::'${branch#release/} + id: get-tag-step + + - name: "Checkout" + uses: actions/checkout@v2 + + - name: "Set up Docker Buildx" + uses: docker/setup-buildx-action@v1 + + - name: "Login to GitHub Container Registry" + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: "Build and push" + uses: docker/build-push-action@v2 + with: + file: Dockerfile + context: . + push: true + tags: "ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}:${{ steps.get-tag-step.outputs.tag }}"