yq/.github/workflows/release.yml

81 lines
2.4 KiB
YAML
Raw Normal View History

2020-12-22 08:56:56 +00:00
name: Release YQ
on:
2020-12-22 08:19:48 +00:00
push:
tags:
- 'v*'
jobs:
2020-12-22 08:19:48 +00:00
publishGitRelease:
environment: gitrelease
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
2020-12-22 09:01:21 +00:00
- uses: actions/setup-go@v2
with:
go-version: '^1.15'
2020-12-22 08:19:48 +00:00
# steps for building assets
- name: Cross compile
2020-12-22 08:52:44 +00:00
run: |
2020-12-22 08:56:56 +00:00
sudo apt-get install rhash -y
2020-12-22 08:52:44 +00:00
go get github.com/mitchellh/gox
./scripts/xcompile.sh
2020-12-22 08:19:48 +00:00
- name: Create Release
id: create_release
uses: actions/create-release@v1.0.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: ${{ github.ref }}
draft: true
prerelease: false
- uses: shogo82148/actions-upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: build/*
publishDocker:
2020-12-22 04:47:59 +00:00
environment: dockerhub
env:
IMAGE_NAME: mikefarah/yq
runs-on: ubuntu-latest
steps:
- name: Get latest release tag
uses: oprypin/find-latest-tag@v1
with:
repository: mikefarah/yq # The repository to scan.
releases-only: true # We know that all relevant tags have a GitHub release for them.
id: yq
- name: Clone source code
uses: actions/checkout@v2
with:
ref: ${{ steps.yq.outputs.tag }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
with:
platforms: all
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1
with:
version: latest
- name: Available platforms
run: echo ${{ steps.buildx.outputs.platforms }} && docker version
- name: Build and push image
run: |
IMAGE_VERSION="$(git describe --tags --abbrev=0)"
SHORT_SHA1=$(git rev-parse --short HEAD)
PLATFORMS="linux/amd64,linux/ppc64le,linux/arm64"
echo "Building and pushing version ${IMAGE_VERSION} of image ${IMAGE_NAME}"
echo ${{ secrets.DOCKER_PASSWORD }} | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin
2020-12-22 05:16:31 +00:00
docker buildx build --platform "${PLATFORMS}" -t "${IMAGE_NAME}:${IMAGE_VERSION}" -t "${IMAGE_NAME}:latest" -t "${IMAGE_NAME}:4" \
--push .