177 lines
No EOL
4.9 KiB
YAML
177 lines
No EOL
4.9 KiB
YAML
name: Build Proxywoman
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v*'
|
|
|
|
jobs:
|
|
|
|
build-linux:
|
|
name: Linux Build
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Install Dependencies
|
|
run: sudo apt install gcc libgtk-3-dev libappindicator3-dev libwebkit2gtk-4.0-dev
|
|
-
|
|
name: Checkout
|
|
uses: actions/checkout@v2
|
|
-
|
|
name: Unshallow
|
|
run: git fetch --prune --unshallow
|
|
-
|
|
name: Set up Go
|
|
uses: actions/setup-go@v2
|
|
with:
|
|
go-version: 1.14
|
|
-
|
|
name: Run Builds
|
|
run: |
|
|
rm -rf ./out
|
|
./build.sh linux server
|
|
./build.sh linux desktop
|
|
- name: Upload Build Artifact
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
# Artifact name
|
|
# name: # optional
|
|
path: ./out/**/*
|
|
|
|
build-darwin:
|
|
name: Darwin Build
|
|
runs-on: macos-latest
|
|
steps:
|
|
-
|
|
name: Checkout
|
|
uses: actions/checkout@v2
|
|
-
|
|
name: Unshallow
|
|
run: git fetch --prune --unshallow
|
|
-
|
|
name: Set up Go
|
|
uses: actions/setup-go@v2
|
|
with:
|
|
go-version: 1.14
|
|
-
|
|
name: Run Builds
|
|
run: |
|
|
rm -rf ./out
|
|
./build.sh darwin server
|
|
./build.sh darwin desktop
|
|
- name: Upload Build Artifact
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
# Artifact name
|
|
# name: # optional
|
|
path: ./out/**/*
|
|
|
|
build-windows:
|
|
name: Windows Build
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
-
|
|
name: Checkout
|
|
uses: actions/checkout@v2
|
|
-
|
|
name: Unshallow
|
|
run: git fetch --prune --unshallow
|
|
-
|
|
name: Set up Go
|
|
uses: actions/setup-go@v2
|
|
with:
|
|
go-version: 1.14
|
|
-
|
|
name: Run Builds
|
|
run: |
|
|
rm -rf ./out
|
|
./build.sh windows server
|
|
./build.sh windows desktop
|
|
- name: Upload Build Artifact
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
# Artifact name
|
|
# name: # optional
|
|
path: ./out/**/*
|
|
|
|
generate-release:
|
|
name: Execute Release
|
|
runs-on: ubuntu-latest
|
|
needs: [build-linux, build-darwin, build-windows]
|
|
steps:
|
|
-
|
|
name: Checkout
|
|
uses: actions/checkout@v2
|
|
-
|
|
name: Unshallow
|
|
run: git fetch --prune --unshallow
|
|
-
|
|
name: Prepare Release Directory
|
|
run: mkdir ./release
|
|
-
|
|
name: Download a Build Artifact
|
|
uses: actions/download-artifact@v2
|
|
with:
|
|
# Destination path
|
|
path: ./release # optional
|
|
-
|
|
name: Load version information
|
|
run: |
|
|
source ./version.properties
|
|
echo "::set-env name=VERSION_NAME::$VERSION_NAME"
|
|
echo "::set-env name=VERSION_CODE::$VERSION_CODE"
|
|
-
|
|
name: Display structure of downloaded files
|
|
working-directory: ./release
|
|
run: |
|
|
ls -R
|
|
-
|
|
name: Create a Release
|
|
id: create_release
|
|
uses: actions/create-release@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
# The name of the tag. This should come from the webhook payload, `github.GITHUB_REF` when a user pushes a new tag
|
|
tag_name: "v${{ env.VERSION_NAME }}"
|
|
# The name of the release. For example, `Release v1.0.1`
|
|
release_name: "Release v${{ env.VERSION_NAME }}"
|
|
# Text describing the contents of the tag.
|
|
body: ""
|
|
draft: false
|
|
prerelease: false
|
|
-
|
|
name: Upload Windows Release Assets
|
|
id: upload_release_assets_windows
|
|
uses: NBTX/upload-release-assets@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
targets: "./release/artifact/windows-*/*.exe"
|
|
-
|
|
name: Upload Linux Release Assets
|
|
id: upload_release_assets_linux
|
|
uses: NBTX/upload-release-assets@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
targets: "./release/artifact/linux-*/*.!(md)"
|
|
-
|
|
name: Upload macOS Server Release Assets
|
|
id: upload_release_assets_darwin_server
|
|
uses: NBTX/upload-release-assets@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
targets: "./release/artifact/darwin-server/*.!(md)"
|
|
-
|
|
name: Upload macOS Desktop Release Assets
|
|
id: upload_release_assets_darwin
|
|
uses: NBTX/upload-release-assets@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
targets: "./release/artifact/darwin-*/*.zip" |