add release workflow

This commit is contained in:
aler9 2020-12-15 13:38:23 +01:00
parent 5e32a526e5
commit baf7abc9a6
4 changed files with 64 additions and 5 deletions

57
.github/workflows/release.yml vendored Normal file
View File

@ -0,0 +1,57 @@
name: release
on:
push:
tags:
- 'v*'
jobs:
github:
name: github
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: make release
- uses: actions/create-release@v1
id: create_release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: ${{ github.ref }}
- uses: actions/github-script@v2
env:
RELEASE_ID: ${{ steps.create_release.outputs.id }}
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const fs = require('fs').promises;
const { repo: { owner, repo } } = context;
for (let file of await fs.readdir('./release/')) {
await github.repos.uploadReleaseAsset({
owner,
repo,
release_id: process.env.RELEASE_ID,
name: file,
data: await fs.readFile(`./release/${file}`)
});
}
dockerhub:
name: dockerhub
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: make dockerhub
env:
DOCKER_USER: ${{ secrets.DOCKER_USER }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}

View File

@ -124,7 +124,7 @@ export DOCKERFILE_RELEASE
release:
echo "$$DOCKERFILE_RELEASE" | docker build . -f - -t temp \
&& docker run --rm -it -v $(PWD):/out \
&& docker run --rm -v $(PWD):/out \
temp sh -c "rm -rf /out/release && cp -r /s/release /out/"
release-nodocker:
@ -176,6 +176,8 @@ dockerhub:
$(eval export DOCKER_CLI_EXPERIMENTAL=enabled)
$(eval VERSION := $(shell git describe --tags))
docker login -u $(DOCKER_USER) -p $(DOCKER_PASSWORD)
docker buildx rm builder 2>/dev/null || true
rm -rf $$HOME/.docker/manifests/*
docker buildx create --name=builder --use