From 41eb42c3697b37c97c537939556fbef26a6072c0 Mon Sep 17 00:00:00 2001
From: Mael GRAMAIN <mael@gnous.eu>
Date: Sun, 13 Dec 2020 20:21:00 -0400
Subject: [PATCH] New Github actions
---
.github/workflows/go.yml | 38 +++++++++++++-------
.github/workflows/release.yml | 65 +++++++++++++++++++++++++++++++++++
2 files changed, 90 insertions(+), 13 deletions(-)
create mode 100644 .github/workflows/release.yml
diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml
index 0dd1d73..0fd786e 100644
--- a/.github/workflows/go.yml
+++ b/.github/workflows/go.yml
@@ -2,12 +2,11 @@ name: Go
on:
push:
- branches: [ main ]
+ branches: [ master ]
pull_request:
- branches: [ main ]
+ branches: [ master ]
jobs:
-
build:
name: Build
runs-on: ubuntu-latest
@@ -20,14 +19,27 @@ jobs:
- name: Check out code into the Go module directory
uses: actions/checkout@v2
-
- - name: Get dependencies
- run: |
- go get -v -t -d ./...
- if [ -f Gopkg.toml ]; then
- curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
- dep ensure
- fi
-
+ with:
+ fetch-depth: '0'
+
- name: Build
- run: make compile
+ run: |
+ GOOS=linux make build
+ GOOS=darwin make build
+ GOOS=windows EXTENSION=.exe make build
+
+ - name: Install fpm
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y rpm ruby ruby-dev
+ sudo gem install fpm
+
+ - name: Package
+ run: make package-deb package-rpm
+
+ - name: Upload Artifact
+ uses: actions/upload-artifact@v2
+ with:
+ name: dist
+ path: dist/*
+ retention-days: 14
\ No newline at end of file
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 0000000..5890304
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,65 @@
+name: Release
+
+on:
+ push:
+ tags:
+ - 'v*'
+
+jobs:
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ steps:
+
+ - name: Set up Go 1.x
+ uses: actions/setup-go@v2
+ with:
+ go-version: ^1.14
+
+ - name: Check out code into the Go module directory
+ uses: actions/checkout@v2
+ with:
+ fetch-depth: '0'
+
+ - name: Build
+ run: |
+ GOOS=linux make build
+ GOOS=darwin make build
+ GOOS=windows EXTENSION=.exe make build
+
+ - name: Install fpm
+ run: |
+ sudo apt-get update
+ sudo apt-get install -y rpm ruby ruby-dev
+ sudo gem install fpm
+
+ - name: Package
+ run: make package-deb package-rpm
+
+ - name: Create Release
+ id: create_release
+ uses: actions/create-release@v1
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ with:
+ tag_name: ${{ github.ref }}
+ release_name: Release ${{ github.ref }}
+ draft: false
+ prerelease: false
+
+ - name: Upload Release Asset
+ uses: actions/github-script@v2
+ with:
+ github-token: ${{secrets.GITHUB_TOKEN}}
+ script: |
+ const fs = require('fs').promises;
+ const upload_url = '${{ steps.create_release.outputs.upload_url }}';
+ for (let file of await fs.readdir('./dist')) {
+ console.log('uploading', file);
+ await github.repos.uploadReleaseAsset({
+ url: upload_url,
+ name: file,
+ data: await fs.readFile(`./dist/${file}`)
+ });
+ }
+
\ No newline at end of file