Skip to content

finish migration to carbon platforms #2528

finish migration to carbon platforms

finish migration to carbon platforms #2528

Workflow file for this run

name: All OS
on: push
env:
CARGO_TERM_COLOR: always
jobs:
mac_universal:
defaults:
run:
working-directory: ./GDLauncher
runs-on: macos-13
timeout-minutes: 80
steps:
- uses: actions/checkout@v3
with:
path: GDLauncher
- uses: actions/setup-node@v3
with:
node-version: "22.11.0"
- uses: dtolnay/rust-toolchain@master
with:
toolchain: 1.82.0
targets: aarch64-apple-darwin, x86_64-apple-darwin
components: clippy, rustfmt
- name: Prepare
run: |
echo "" > crates/carbon_app/src/db.rs
cargo fmt --check
- run: |
npm run sudo-init
chmod -R a+x node_modules
- name: Iridium patchfix
run: node iridium_patchfix.js
- name: Prisma codegen
env:
CARGO_INCREMENTAL: 0
run: pnpm prisma:generate
- name: Build
run: pnpm build:mac-universal
env:
CARGO_INCREMENTAL: 0
BASE_API: ${{ vars.BASE_API }}
TEST_BASE_API: ${{ vars.TEST_BASE_API }}
MS_AUTH_CLIENT_ID: ${{ vars.MS_AUTH_CLIENT_ID }}
META_BASE_URL: ${{ vars.META_BASE_URL }}
USER_AGENT_PREFIX: ${{ vars.USER_AGENT_PREFIX }}
CURSEFORGE_API_KEY: "${{ vars.CURSEFORGE_API_KEY }}"
CURSEFORGE_API_BASE: ${{ vars.CURSEFORGE_API_BASE }}
- name: Lint
run: pnpm lint
- name: Clear target before tests to avoid folder getting too big
run: rm -rf target
- name: Test
env:
CARGO_INCREMENTAL: 0
BASE_API: ${{ vars.BASE_API }}
TEST_BASE_API: ${{ vars.TEST_BASE_API }}
MS_AUTH_CLIENT_ID: ${{ vars.MS_AUTH_CLIENT_ID }}
RUNTIME_PATH: ${{ vars.RUNTIME_PATH }}
META_BASE_URL: ${{ vars.META_BASE_URL }}
USER_AGENT_PREFIX: ${{ vars.USER_AGENT_PREFIX }}
CURSEFORGE_API_KEY: "${{ vars.CURSEFORGE_API_KEY }}"
CURSEFORGE_API_BASE: ${{ vars.CURSEFORGE_API_BASE }}
run: |
pnpm test
cargo test
- name: Upload Playwright report
uses: actions/upload-artifact@v4
if: always()
with:
name: playwright-report-macos
path: ./GDLauncher/apps/desktop/playwright-report/
- name: Upload main.log for debugging
uses: actions/upload-artifact@v4
if: always()
with:
name: logs-macos
path: |
./GDLauncher/apps/desktop/release/mac-universal/gdl_data/main.log
./GDLauncher/apps/desktop/release/mac-universal/gdl_data/data/__gdl_logs__/*.log
ubuntu_x64:
defaults:
run:
working-directory: ./GDLauncher
runs-on: ubuntu-22.04
timeout-minutes: 80
steps:
- uses: actions/checkout@v3
with:
path: GDLauncher
- uses: actions/setup-node@v3
with:
node-version: "22.11.0"
- uses: dtolnay/rust-toolchain@master
with:
toolchain: 1.82.0
targets: x86_64-unknown-linux-gnu
components: clippy, rustfmt
- name: Prepare
run: |
echo "" > crates/carbon_app/src/db.rs
cargo fmt --check
- run: |
npm run sudo-init
chmod -R a+x node_modules
- name: Iridium patchfix
run: node iridium_patchfix.js
- name: Prisma codegen
env:
CARGO_INCREMENTAL: 0
run: pnpm prisma:generate:linux-x64
- name: Build
run: pnpm build:linux-x64
env:
CARGO_INCREMENTAL: 0
BASE_API: ${{ vars.BASE_API }}
TEST_BASE_API: ${{ vars.TEST_BASE_API }}
MS_AUTH_CLIENT_ID: ${{ vars.MS_AUTH_CLIENT_ID }}
META_BASE_URL: ${{ vars.META_BASE_URL }}
USER_AGENT_PREFIX: ${{ vars.USER_AGENT_PREFIX }}
CURSEFORGE_API_KEY: "${{ vars.CURSEFORGE_API_KEY }}"
CURSEFORGE_API_BASE: ${{ vars.CURSEFORGE_API_BASE }}
- name: Lint
run: pnpm lint
- name: Clear target before tests to avoid folder getting too big
run: rm -rf target
- name: Test
env:
DISPLAY: ":1"
CARGO_INCREMENTAL: 0
BASE_API: ${{ vars.BASE_API }}
TEST_BASE_API: ${{ vars.TEST_BASE_API }}
MS_AUTH_CLIENT_ID: ${{ vars.MS_AUTH_CLIENT_ID }}
RUNTIME_PATH: ${{ vars.RUNTIME_PATH }}
META_BASE_URL: ${{ vars.META_BASE_URL }}
USER_AGENT_PREFIX: ${{ vars.USER_AGENT_PREFIX }}
CURSEFORGE_API_KEY: "${{ vars.CURSEFORGE_API_KEY }}"
CURSEFORGE_API_BASE: ${{ vars.CURSEFORGE_API_BASE }}
run: |
sudo apt-get install -y xvfb
/usr/bin/Xvfb :1 -screen 0 1280x960x24 &
export DISPLAY=:1
sleep 2
ps aux | grep Xvfb
ls -l /tmp/.X11-unix/
pnpm test
cargo test
- name: Upload Playwright report
if: always()
uses: actions/upload-artifact@v4
with:
name: playwright-report
path: ./GDLauncher/apps/desktop/playwright-report/
- name: Upload test results
if: always()
uses: actions/upload-artifact@v4
with:
name: playwright-report-linux
path: ./GDLauncher/apps/desktop/playwright-report/
- name: Upload main.log for debugging
uses: actions/upload-artifact@v4
if: always()
with:
name: logs-linux
path: |
./GDLauncher/apps/desktop/release/linux-unpacked/gdl_data/main.log
./GDLauncher/apps/desktop/release/linux-unpacked/gdl_data/data/__gdl_logs__/*.log
windows_x64:
defaults:
run:
working-directory: ./GDLauncher
runs-on: windows-2022
timeout-minutes: 80
steps:
- uses: actions/checkout@v3
with:
path: GDLauncher
- uses: actions/setup-node@v3
with:
node-version: "22.11.0"
- uses: dtolnay/rust-toolchain@master
with:
toolchain: 1.82.0
targets: x86_64-pc-windows-msvc
components: clippy, rustfmt
- name: Prepare
shell: bash
run: |
echo "" > crates/carbon_app/src/db.rs
cargo fmt --check
- name: init
shell: bash
run: npm run init
- name: Iridium patchfix
shell: bash
run: node iridium_patchfix.js
- name: Prisma codegen
shell: bash
env:
CARGO_INCREMENTAL: 0
CARGO_NET_GIT_FETCH_WITH_CLI: true
run: pnpm prisma:generate:win-x64
- name: Build
shell: bash
run: pnpm build:win-x64
env:
CARGO_INCREMENTAL: 0
BASE_API: ${{ vars.BASE_API }}
TEST_BASE_API: ${{ vars.TEST_BASE_API }}
MS_AUTH_CLIENT_ID: ${{ vars.MS_AUTH_CLIENT_ID }}
META_BASE_URL: ${{ vars.META_BASE_URL }}
USER_AGENT_PREFIX: ${{ vars.USER_AGENT_PREFIX }}
CURSEFORGE_API_KEY: "${{ vars.CURSEFORGE_API_KEY }}"
CURSEFORGE_API_BASE: ${{ vars.CURSEFORGE_API_BASE }}
CARGO_NET_GIT_FETCH_WITH_CLI: true
- name: Lint
shell: bash
run: pnpm lint
- name: Clear target before tests to avoid folder getting too big
shell: bash
run: rm -rf target
- name: Test
shell: bash
env:
CARGO_INCREMENTAL: 0
BASE_API: ${{ vars.BASE_API }}
TEST_BASE_API: ${{ vars.TEST_BASE_API }}
MS_AUTH_CLIENT_ID: ${{ vars.MS_AUTH_CLIENT_ID }}
RUNTIME_PATH: ${{ vars.RUNTIME_PATH }}
META_BASE_URL: ${{ vars.META_BASE_URL }}
USER_AGENT_PREFIX: ${{ vars.USER_AGENT_PREFIX }}
CURSEFORGE_API_KEY: "${{ vars.CURSEFORGE_API_KEY }}"
CURSEFORGE_API_BASE: ${{ vars.CURSEFORGE_API_BASE }}
CARGO_NET_GIT_FETCH_WITH_CLI: true
run: |
pnpm test
cargo test
- name: Upload Playwright report
uses: actions/upload-artifact@v4
if: always()
with:
name: playwright-report-win
path: ./GDLauncher/apps/desktop/playwright-report/
- name: Upload main.log for debugging
uses: actions/upload-artifact@v4
if: always()
with:
name: logs-windows
path: |
./GDLauncher/apps/desktop/release/win-unpacked/gdl_data/main.log
./GDLauncher/apps/desktop/release/win-unpacked/gdl_data/data/__gdl_logs__/*.log