mirror of
https://github.com/wavetermdev/waveterm.git
synced 2025-01-06 19:18:22 +01:00
67544c9a0f
I am removing the Yarn cache from our Build Helper. The actions/node-setup cache option is not compatible with Yarn Modern. With Yarn Modern, the `yarn install` command that sets up our project-specific yarn config will also install all the module dependencies, meaning we don't need a separate call to resolve these. Altogether, even without the cache, it only takes 21s for Yarn Modern to install and resolve dependencies.
72 lines
3.2 KiB
YAML
72 lines
3.2 KiB
YAML
name: "Build Helper"
|
|
on: workflow_dispatch
|
|
env:
|
|
GO_VERSION: "1.22.0"
|
|
NODE_VERSION: "21.5.0"
|
|
jobs:
|
|
runbuild:
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- platform: "darwin"
|
|
arch: "universal"
|
|
runner: "macos-latest-xlarge"
|
|
scripthaus: "build-package"
|
|
- platform: "linux"
|
|
arch: "amd64"
|
|
runner: "ubuntu-latest"
|
|
scripthaus: "build-package-linux"
|
|
runs-on: ${{ matrix.runner }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
repository: scripthaus-dev/scripthaus
|
|
path: scripthaus
|
|
- name: Install Linux Build Dependencies (Linux only)
|
|
if: matrix.platform == 'linux'
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install --no-install-recommends -y libarchive-tools libopenjp2-tools rpm
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version: ${{env.GO_VERSION}}
|
|
cache-dependency-path: |
|
|
wavesrv/go.sum
|
|
waveshell/go.sum
|
|
scripthaus/go.sum
|
|
- name: Install Scripthaus
|
|
run: |
|
|
go work use ./scripthaus;
|
|
cd scripthaus;
|
|
go get ./...;
|
|
CGO_ENABLED=1 go build -o scripthaus cmd/main.go
|
|
echo $PWD >> $GITHUB_PATH
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: ${{env.NODE_VERSION}}
|
|
- name: Install yarn
|
|
run: |
|
|
corepack enable
|
|
yarn install
|
|
- name: Set Version
|
|
id: set-version
|
|
run: |
|
|
VERSION=$(node -e 'console.log(require("./version.js"))')
|
|
echo "WAVETERM_VERSION=${VERSION}" >> "$GITHUB_OUTPUT"
|
|
- name: Build ${{ matrix.platform }}/${{ matrix.arch }}
|
|
run: scripthaus run ${{ matrix.scripthaus }}
|
|
env:
|
|
GOARCH: ${{ matrix.arch }}
|
|
CSC_LINK: ${{ matrix.platform == 'darwin' && secrets.PROD_MACOS_CERTIFICATE}}
|
|
CSC_KEY_PASSWORD: ${{ matrix.platform == 'darwin' && secrets.PROD_MACOS_CERTIFICATE_PWD }}
|
|
APPLE_ID: ${{ matrix.platform == 'darwin' && secrets.PROD_MACOS_NOTARIZATION_APPLE_ID }}
|
|
APPLE_APP_SPECIFIC_PASSWORD: ${{ matrix.platform == 'darwin' && secrets.PROD_MACOS_NOTARIZATION_PWD }}
|
|
APPLE_TEAM_ID: ${{ matrix.platform == 'darwin' && secrets.PROD_MACOS_NOTARIZATION_TEAM_ID }}
|
|
- name: Upload to S3 staging
|
|
run: aws s3 cp make/ s3://waveterm-github-artifacts/staging/${{ steps.set-version.outputs.WAVETERM_VERSION }}/ --recursive --exclude "*/*" --exclude "builder-*.yml"
|
|
env:
|
|
AWS_ACCESS_KEY_ID: "${{ secrets.S3_USERID }}"
|
|
AWS_SECRET_ACCESS_KEY: "${{ secrets.S3_SECRETKEY }}"
|
|
AWS_DEFAULT_REGION: us-west-2
|