Skip to content

Commit

Permalink
ci: add release script
Browse files Browse the repository at this point in the history
  • Loading branch information
marcelblijleven committed Jan 13, 2022
1 parent b716f07 commit f6bbd49
Showing 1 changed file with 130 additions and 0 deletions.
130 changes: 130 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
name: Release

on:
push:
tags:
- '*'


jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.17
- name: Test
run: go test -v ./...

create-release:
runs-on: ubuntu-latest
needs:
- test
outputs:
upload-url: ${{ steps.create-release.outputs.upload_url }}
steps:
- name: Release
uses: actions/create-release@v1
id: create-release
with:
draft: false
prerelease: false
release_name: Release ${{ github.ref }}
tag_name: ${{ github.ref }}
env:
GITHUB_TOKEN: ${{ github.token }}

build-binaries:
runs-on: ubuntu-latest
needs:
- create-release
steps:
- uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.17
- name: Build
run: ./build.sh jira-helper

- name: upload darwin amd64
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: ./build/jira-helper-darwin-amd64.tar.gz
asset_name: jira-helper-darwin-amd64.tar.gz
asset_content_type: application/gzip

- name: upload darwin arm64
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: ./build/jira-helper-darwin-arm64.tar.gz
asset_name: jira-helper-darwin-arm64.tar.gz
asset_content_type: application/gzip

- name: upload linux amd64
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: ./build/jira-helper-linux-amd64.tar.gz
asset_name: jira-helper-linux-amd64.tar.gz
asset_content_type: application/gzip

- name: upload linux arm64
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: ./build/jira-helper-linux-arm64.tar.gz
asset_name: jira-helper-linux-arm64.tar.gz
asset_content_type: application/gzip

- name: upload windows 386
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: ./build/jira-helper-windows-386.zip
asset_name: jira-helper-windows-386.zip
asset_content_type: application/zip

- name: upload windows amd64
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: ./build/jira-helper-windows-amd64.zip
asset_name: jira-helper-windows-amd64.zip
asset_content_type: application/zip

- name: Clear build directory
run: rm -rf build

build-container:
runs-on: ubuntu-latest
needs:
- test
steps:
- name: Store current tag in GITHUB_ENV
run: echo "CURRENT_TAG=$(git describe --tags)" >> $GITHUB_ENV
- name: Push docker iamge to container registry
env:
REGISTRY: ghcr.io
USERNAME: marcelblijleven
IMAGE_NAME: docker push ghcr.io/marcelblijleven/${{ github.event.repository.name }}:${{ env.CURRENT_TAG }}
run: |
docker build -t ${{ env.IMAGE_NAME }} -f Dockerfile .
echo ${{ secrets.GITHUB_TOKEN }} | docker login ${{ env.REGISTRY }} --username ${{ env.USERNAME }} --password-stdin
docker push ${{ env.IMAGE_NAME }}

0 comments on commit f6bbd49

Please sign in to comment.