Skip to content

feat: attempt at another linux preview release #6

feat: attempt at another linux preview release

feat: attempt at another linux preview release #6

Workflow file for this run

name: Release (Linux & Windows)
on:
push:
tags:
- v*
env:
GRADLE_OPTS: "-Dorg.gradle.daemon=false"
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
VUE_APP_SENTRY_DSN: ${{ secrets.VUE_APP_SENTRY_DSN }}
PUBLISH_BUCKET: ${{ secrets.PUBLISH_BUCKET }}
PUBLISH_ENDPOINT: ${{ secrets.PUBLISH_ENDPOINT }}
jobs:
build-linux:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
# Cache for Gradle
- name: Cache
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
- name: Build subprocess
env:
SUBPROCESS_SENTRY_DSN: ${{ secrets.SUBPROCESS_SENTRY_DSN }}
GITHUB_BRANCH: "release" # TODO: Resolve this properly for alpha and beta releases
run: |
cd subprocess
./gradlew clean build -si
- name: Build App (Windows & Linux)
env:
APP_TARGET_PLATFORM: "linux"
run: |
npm install --global pnpm || true
pnpm config set store-dir .pnpm-store
pnpm install
pnpm gen:license
pnpm build --publish always -l --x64 --arm64
- uses: actions/cache/save@v4
id: cache
name: Save pnpm modules
with:
path: .pnpm-store
key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}
# Upload the subprocess/build/libs/ directory as an artifact
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: subprocess-jar
path: subprocess/build/libs/
build-windows:
runs-on: windows-latest
# Only run this job if the previous job was successful
needs: build-linux
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: subprocess-jar
path: subprocess/build/libs/
- name: Build App (Windows)
env:
APP_TARGET_PLATFORM: "windows"
run: |
npm install --global pnpm || true
pnpm config set store-dir .pnpm-store
pnpm install
pnpm gen:license
pnpm build --publish always -w --x64
build-macos:
runs-on: macos-latest
# Only run this job if the previous job was successful
needs:
- build-linux
- build-windows
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: subprocess-jar
path: subprocess/build/libs/
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
- name: Build App (MacOS)
env:
APP_TARGET_PLATFORM: "macos"
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
CSC_LINK: ${{ secrets.CSC_LINK }}
APPLE_API_ISSUER: ${{ secrets.APPLE_API_ISSUER }}
APPLE_API_KEY: ${{ secrets.APPLE_API_KEY }}
APPLE_API_KEY_ID: ${{ secrets.APPLE_API_KEY_ID }}
run: |
npm install --global pnpm || true
pnpm config set store-dir .pnpm-store
pnpm install
pnpm gen:license
echo "$APPLE_API_KEY" > apple_api_key.p8
pnpm build --publish always -m --x64 --arm64
build-overwolf:
needs:
- build-linux
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: subprocess-jar
path: subprocess/build/libs/
- name: Restore pnpm
uses: actions/cache/restore@v4
id: cache
with:
path: .pnpm-store
key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}
- name: Build App (Overwolf)
env:
OW_CLI_API_KEY: ${{ secrets.OW_CLI_API_KEY }}
OW_CLI_EMAIL: ${{ secrets.OW_CLI_EMAIL }}
APP_TARGET_PLATFORM: "overwolf"
run: |
cp subprocess/build/libs/meta.json overwolf/
cp subprocess/build/libs/java-licenses.json overwolf/
npm install --global pnpm || true
pnpm config set store-dir .pnpm-store
pnpm install
pnpm gen:license
node overwolf/patchManifest.js
pnpm overwolf:build
node overwolf/packageOpk.js
echo "Signing OPK.."
pnpm ow opk sign -o overwolf/signed.opk overwolf/*.opk
pnpm ow opk upload -w true overwolf/signed.opk