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 }}