Skip to content

Update action-gh-release (#712) #625

Update action-gh-release (#712)

Update action-gh-release (#712) #625

Workflow file for this run

name: CI
on: [pull_request, push]
jobs:
build-mac:
name: Build - macOS
runs-on: macos-13
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: '18.x'
- uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'temurin'
- run: ./gradlew build updateVersions updateAllDependencies -PbuildServer
name: Build with Gradle
- run: |
npm install
npm run compile
npm run lint
npm run packageMac
name: Build Standalone Utility
working-directory: wpilib-utility-standalone
- name: Import Developer ID Certificate
uses: wpilibsuite/import-signing-certificate@v2
with:
certificate-data: ${{ secrets.APPLE_CERTIFICATE_DATA }}
certificate-passphrase: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
keychain-password: ${{ secrets.APPLE_KEYCHAIN_PASSWORD }}
if: |
(github.repository_owner == 'wpilibsuite') &&
(github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v'))
- name: Sign Standalone Utility
run: npm run signMac
working-directory: wpilib-utility-standalone
if: |
(github.repository_owner == 'wpilibsuite') &&
(github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v'))
- name: Notarize Standalone Utility
uses: wpilibsuite/xcode-notarize@v3
with:
product-path: "wpilib-utility-standalone/build/wpilibutility-darwin-universal/wpilibutility.app"
appstore-connect-username: ${{ secrets.APPLE_NOTARIZATION_USERNAME }}
appstore-connect-teamid: ${{ secrets.APPLE_NOTARIZATION_TEAMID }}
appstore-connect-password: ${{ secrets.APPLE_NOTARIZATION_PASSWORD }}
if: |
(github.repository_owner == 'wpilibsuite') &&
(github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v'))
- name: Staple Notarization Ticket
run: xcrun stapler staple -v wpilibutility.app
working-directory: wpilib-utility-standalone/build/wpilibutility-darwin-universal
if: |
(github.repository_owner == 'wpilibsuite') &&
(github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v'))
- run: tar -C build/wpilibutility-darwin-universal -pcvzf wpilibutility-mac.tar.gz .
working-directory: wpilib-utility-standalone
name: Create Archive
- uses: actions/upload-artifact@v4
with:
name: Mac
path: ${{ github.workspace }}/wpilib-utility-standalone/wpilibutility-mac.tar.gz
build-linux:
name: Build - Linux
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: '18.x'
- uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'temurin'
- run: ./gradlew build updateVersions updateAllDependencies -PbuildServer
name: Build with Gradle
- run: |
npm install
npm run compile
npm run lint
npm run packageLinux
name: Build Standalone Utility
working-directory: wpilib-utility-standalone
- run: tar -C build/wpilibutility-linux-x64 -pcvzf wpilibutility-linux.tar.gz .
working-directory: wpilib-utility-standalone
name: Archive Utility
- uses: actions/upload-artifact@v4
with:
name: Linux
path: ${{ github.workspace }}/wpilib-utility-standalone/wpilibutility-linux.tar.gz
build-windows:
name: Build - Windows Standalone
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: '18.x'
- uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'temurin'
- run: ./gradlew build updateVersions updateAllDependencies -PbuildServer
name: Build with Gradle
- run: |
npm install
npm run compile
npm run lint
npm run packageWindows
name: Build Standalone Utility
working-directory: wpilib-utility-standalone
- run: Compress-Archive -Path wpilibutility-win32-x64\* -DestinationPath wpilibutility-windows.zip
working-directory: wpilib-utility-standalone/build
shell: powershell
- uses: actions/upload-artifact@v4
with:
name: WindowsStandalone
path: ${{ github.workspace }}/wpilib-utility-standalone/build/wpilibutility-windows.zip
build-windows-vsix:
name: Build - Windows VSIX
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: '18.x'
- uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'temurin'
- run: ./gradlew build updateVersions updateAllDependencies generateTemplateZip generateExamplesZip -PbuildServer
name: Build with Gradle
- run: |
npm install
npm run lint
npm run unittest
npm run gulp
npm run webpack
npm run vscePackage
working-directory: vscode-wpilib
name: Build VSIX
- uses: actions/upload-artifact@v4
with:
name: WindowsVSIX
path: ${{ github.workspace }}/**/*.vsix
- uses: actions/upload-artifact@v4
with:
name: Distributions
path: ${{ github.workspace }}/build/distributions/*
release:
name: "Release"
runs-on: ubuntu-latest
needs: [build-mac, build-linux, build-windows, build-windows-vsix]
if: startsWith(github.ref, 'refs/tags/v')
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
name: Download Artifacts
with:
path: artifacts
- uses: softprops/action-gh-release@v2
name: Release
with:
body_path: ${{ github.workspace }}/.github/ReleaseBody.txt
prerelease: true
files: "artifacts/**/*"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}