From 24e84170e9d09d23b0d4e9d8bde8b78df99aa93b Mon Sep 17 00:00:00 2001 From: Ashish Date: Tue, 26 Jan 2021 21:48:21 -0800 Subject: [PATCH] Add Github Actions (#891) * Testing github action Signed-off-by: thatInfrastructureGuy * Update ci.yml * Add more actions Signed-off-by: thatInfrastructureGuy * Add master tag Signed-off-by: thatInfrastructureGuy * Updated secret name in master * Update master.yml * Create release-branch.yml * Update master.yml * Update master.yml * Update master.yml * Delete release-branch.yml * Delete release-tags.yml * Update Dockerfile * Update master.yml * Update master.yml * Update master.yml * Update master.yml * Delete master.yml * Create ci.yml * Update ci.yml * Update Dockerfile * Update ci.yml * Update ci.yml * Update ci.yml * Update ci.yml --- .github/workflows/ci.yml | 99 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..224f882d8 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,99 @@ +name: ci + +on: + pull_request: + branches: + - 'master' + - 'release' + push: + branches: + - 'master' + - 'release' + release: + types: + - created + +jobs: + build-push: + runs-on: ubuntu-latest + steps: + - + name: Checkout + uses: actions/checkout@v2 + - + name: Extract Repo Name Lowercase + shell: bash + run: echo "##[set-output name=repo;]$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]')" + id: extract_repo + + # extract branch name + - + name: Extract branch name + if: github.event_name != 'pull_request' && github.event_name != 'release' + run: | + echo IMAGE_TAG=$(echo ${GITHUB_REF#refs/heads/}) >> $GITHUB_ENV + # extract branch name on pull request + - + name: Extract branch from PR + if: github.event_name == 'pull_request' && github.event_name != 'release' + run: | + echo IMAGE_TAG=$(echo ${GITHUB_HEAD_REF}) >> $GITHUB_ENV + + # extract tag name + - + name: Extract git tag + if: github.event_name == 'release' + run: | + echo IMAGE_TAG=$(echo ${GITHUB_REF#refs/tags/}) >> $GITHUB_ENV + - + name: Get Image tag + shell: bash + run: echo "##[set-output name=tag;]$(echo ${IMAGE_TAG})" + id: extract_image_tag + - + name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - + 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: ${{ secrets.GHCR_USER }} + password: ${{ secrets.GHCR_PAT }} + - + name: Build and push + uses: docker/build-push-action@v2 + with: + context: . + file: ./Dockerfile + platforms: linux/amd64,linux/arm/v7,linux/arm64 + push: true + tags: | + ghcr.io/${{ steps.extract_repo.outputs.repo }}:${{ steps.extract_image_tag.outputs.tag }} + + - + name: Build and push if master branch + if: ${{ steps.extract_image_tag.outputs.tag }} == 'master' + uses: docker/build-push-action@v2 + with: + context: . + file: ./Dockerfile + platforms: linux/amd64,linux/arm/v7,linux/arm64 + push: true + tags: | + ghcr.io/${{ steps.extract_repo.outputs.repo }}:edge + + - + name: Build and push if release branch + if: ${{ steps.extract_image_tag.outputs.tag }} == 'release' + uses: docker/build-push-action@v2 + with: + context: . + file: ./Dockerfile + platforms: linux/amd64,linux/arm/v7,linux/arm64 + push: true + tags: | + ghcr.io/${{ steps.extract_repo.outputs.repo }}:latest