Skip to content

v0.6.2

v0.6.2 #27

Workflow file for this run

name: Deploy
on:
release:
types: [created]
jobs:
deploy:
name: Deploy
runs-on: ubuntu-latest
strategy:
matrix:
os:
- name: linux
ext: ''
- name: darwin
ext: ''
- name: windows
ext: '.exe'
arch:
- "386"
- amd64
- arm64
include:
- os:
name: darwin
ext: ''
arch: "arm64"
exclude:
- os:
name: darwin
ext: ''
arch: "386"
- os:
name: windows
ext: '.exe'
arch: arm64
fail-fast: false
env:
GOOS: ${{ matrix.os.name }}
GOARCH: ${{ matrix.arch }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '~1.21.6'
- name: Update environment
run: |
echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV
echo "TARGET_NAME=hcl2json_${{ matrix.os.name }}_${{ matrix.arch}}${{ matrix.os.ext }}" >> $GITHUB_ENV
- name: Build
run: 'go build -ldflags="-X main.Version=${{ env.VERSION }}"'
- name: Upload
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
mv hcl2json${{ matrix.os.ext }} $TARGET_NAME
gh release upload v$VERSION $TARGET_NAME
deploy_docker:
name: Push to docker
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: login to docker
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Set up docker buildx
uses: docker/setup-buildx-action@v3
- name: Docker meta
id: docker_meta
uses: docker/metadata-action@v5
with:
images: ${{ secrets.DOCKER_HUB_USERNAME }}/hcl2json
tags: |
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
- name: Build and push docker to dockerhub
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ steps.docker_meta.outputs.tags }}
labels: ${{ steps.docker_meta.outputs.labels }}