mirror of
https://github.com/ehang-io/nps.git
synced 2025-07-01 19:50:42 +00:00
164 lines
5.0 KiB
YAML
164 lines
5.0 KiB
YAML
name: Release
|
|
|
|
on:
|
|
release:
|
|
types: [published]
|
|
branches: [ master ]
|
|
|
|
jobs:
|
|
|
|
build_assets:
|
|
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
|
|
- name: Set up Go 1.x
|
|
uses: actions/setup-go@v2
|
|
with:
|
|
go-version: 1.15
|
|
id: go
|
|
- 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
|
|
- name: Build
|
|
run: |
|
|
chmod +x build.assets.sh
|
|
./build.assets.sh
|
|
- name: Upload
|
|
uses: softprops/action-gh-release@v1
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
with:
|
|
files: |
|
|
freebsd_386_client.tar.gz
|
|
freebsd_386_server.tar.gz
|
|
freebsd_amd64_client.tar.gz
|
|
freebsd_amd64_server.tar.gz
|
|
freebsd_arm_client.tar.gz
|
|
freebsd_arm_server.tar.gz
|
|
linux_386_client.tar.gz
|
|
linux_386_server.tar.gz
|
|
linux_amd64_client.tar.gz
|
|
linux_amd64_server.tar.gz
|
|
linux_arm64_client.tar.gz
|
|
linux_arm64_server.tar.gz
|
|
linux_arm_v5_client.tar.gz
|
|
linux_arm_v6_client.tar.gz
|
|
linux_arm_v7_client.tar.gz
|
|
linux_arm_v5_server.tar.gz
|
|
linux_arm_v6_server.tar.gz
|
|
linux_arm_v7_server.tar.gz
|
|
linux_mips64le_client.tar.gz
|
|
linux_mips64le_server.tar.gz
|
|
linux_mips64_client.tar.gz
|
|
linux_mips64_server.tar.gz
|
|
linux_mipsle_client.tar.gz
|
|
linux_mipsle_server.tar.gz
|
|
linux_mips_client.tar.gz
|
|
linux_mips_server.tar.gz
|
|
darwin_amd64_client.tar.gz
|
|
darwin_amd64_server.tar.gz
|
|
windows_386_client.tar.gz
|
|
windows_386_server.tar.gz
|
|
windows_amd64_client.tar.gz
|
|
windows_amd64_server.tar.gz
|
|
npc_sdk.tar.gz
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
build_android:
|
|
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
|
|
- name: Check out code into the Go module directory
|
|
uses: actions/checkout@v2
|
|
- name: Build
|
|
run: |
|
|
chmod +x build.android.sh
|
|
docker run --rm -i -w /app -v $(pwd):/app -e ANDROID_HOME=/usr/local/android_sdk -e GOPROXY=direct fyneio/fyne-cross:android-latest /app/build.android.sh
|
|
- name: Upload
|
|
uses: softprops/action-gh-release@v1
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
with:
|
|
files: |
|
|
android_client.apk
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
build_spk:
|
|
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
|
|
- name: Check out code into the Go module directory
|
|
uses: actions/checkout@v2
|
|
- name: Set env
|
|
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
|
- name: Build
|
|
run: |
|
|
git clone https://github.com/cnlh/spksrc.git ~/spksrc
|
|
mkdir ~/spksrc/nps && cp -rf ./* ~/spksrc/nps/
|
|
docker run -id --name spksrc --env VERSION=${{ env.RELEASE_VERSION }} -e GOPROXY=direct -v ~/spksrc:/spksrc synocommunity/spksrc /bin/bash
|
|
docker exec spksrc /bin/bash -c 'cd /spksrc && make setup && cd /spksrc/spk/npc && make'
|
|
cp ~/spksrc/packages/npc_noarch-all_${{ env.RELEASE_VERSION }}-1.spk ./npc_syno.spk
|
|
- name: Upload
|
|
uses: softprops/action-gh-release@v1
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
with:
|
|
files: |
|
|
npc_syno.spk
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
build_docker:
|
|
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
|
|
- name: Check out code into the Go module directory
|
|
uses: actions/checkout@v2
|
|
- name: Set env
|
|
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
|
- name: Set up QEMU
|
|
uses: docker/setup-qemu-action@v1
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v1
|
|
- name: Cache Docker layers
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: /tmp/.buildx-cache
|
|
key: ${{ runner.os }}-buildx-${{ github.sha }}
|
|
restore-keys: |
|
|
${{ runner.os }}-buildx-
|
|
- name: Login to DockerHub
|
|
uses: docker/login-action@v1
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
- name: Build and push nps
|
|
uses: docker/build-push-action@v2
|
|
with:
|
|
context: .
|
|
file: ./Dockerfile.nps
|
|
platforms: linux/amd64,linux/arm,linux/arm64
|
|
push: true
|
|
tags: |
|
|
${{ secrets.DOCKERHUB_USERNAME }}/nps:latest
|
|
${{ secrets.DOCKERHUB_USERNAME }}/nps:${{ env.RELEASE_VERSION }}
|
|
- name: Build and push npc
|
|
uses: docker/build-push-action@v2
|
|
with:
|
|
context: .
|
|
file: ./Dockerfile.npc
|
|
platforms: linux/amd64,linux/arm,linux/arm64
|
|
push: true
|
|
tags: |
|
|
${{ secrets.DOCKERHUB_USERNAME }}/npc:latest
|
|
${{ secrets.DOCKERHUB_USERNAME }}/npc:${{ env.RELEASE_VERSION }}
|