Skip to content

Commit

Permalink
feat: add release automation
Browse files Browse the repository at this point in the history
  • Loading branch information
smlx committed Nov 20, 2021
1 parent 4919938 commit a20afc6
Show file tree
Hide file tree
Showing 3 changed files with 122 additions and 0 deletions.
77 changes: 77 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: Release
on:
push:
branches:
- main
jobs:
tag:
runs-on: ubuntu-latest
outputs:
new-tag: ${{ steps.bump-tag.outputs.new }}
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Configure Git
run: |
git config --global user.name "$GITHUB_ACTOR"
git config --global user.email "[email protected]"
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: "^1.17"
- name: Install ccv
run: >
curl -sSL https://github.com/smlx/ccv/releases/download/v0.3.2/ccv_0.3.2_linux_amd64.tar.gz
| sudo tar -xz -C /usr/local/bin ccv
- name: Bump tag if necessary
id: bump-tag
run: |
if [ -z $(git tag -l $(ccv)) ]; then
git tag $(ccv)
git push --tags
echo "::set-output name=new::true"
fi
release:
needs: tag
if: needs.tag.outputs.new-tag == 'true'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: "^1.17"
- name: Set up environment
run: echo "GOVERSION=$(go version)" >> $GITHUB_ENV
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v2
with:
version: latest
args: release --rm-dist
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Login to GHCR
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Docker metadata
id: service_api_meta
uses: docker/metadata-action@v3
with:
images: uselagoon/lagoon-ssh-portal/service-api
- name: Build and push service-api container image
id: docker_build
uses: docker/build-push-action@v2
with:
push: true
tags: ghcr.io/${{ steps.service_api_meta.outputs.tags }}
labels: ${{ steps.service_api_meta.outputs.labels }}
file: deploy/service-api/Dockerfile
context: dist/lagoon-ssh-portal_linux_amd64
44 changes: 44 additions & 0 deletions .github/workflows/tag-to-release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Tag to Release
on:
push:
tags:
- v*
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Go
uses: actions/setup-go@v2
with:
go-version: "^1.17"
- name: Set up environment
run: echo "GOVERSION=$(go version)" >> $GITHUB_ENV
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v2
with:
version: latest
args: release --rm-dist
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Login to GHCR
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Docker metadata
id: service_api_meta
uses: docker/metadata-action@v3
with:
images: uselagoon/lagoon-ssh-portal/service-api
- name: Build and push service-api container image
id: docker_build
uses: docker/build-push-action@v2
with:
push: true
tags: ghcr.io/${{ steps.service_api_meta.outputs.tags }}
labels: ${{ steps.service_api_meta.outputs.labels }}
file: deploy/service-api/Dockerfile
context: dist/lagoon-ssh-portal_linux_amd64
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/dist

0 comments on commit a20afc6

Please sign in to comment.