From 57afb33b0c042c22646aff33b8e2c5a387cbc1c9 Mon Sep 17 00:00:00 2001 From: Tommy Builds Date: Wed, 15 May 2024 06:55:03 -0700 Subject: [PATCH 1/9] Add GH workflow --- .github/.workflows/build.yml | 75 ++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 .github/.workflows/build.yml diff --git a/.github/.workflows/build.yml b/.github/.workflows/build.yml new file mode 100644 index 0000000..382366d --- /dev/null +++ b/.github/.workflows/build.yml @@ -0,0 +1,75 @@ +name: build + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + # Separate job that verifies if all code was formatted correctly + # Run `dotnet fantomas .` to format all code. + verify-linting: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Setup .NET + uses: actions/setup-dotnet@v3 + + - name: Restore tools + run: dotnet tool restore + + - name: Check F# code + run: dotnet fantomas . --check + + # Separate build job for Rust (will run in parallel) + build-rust: + runs-on: ubuntu-latest + strategy: + matrix: + test: ["default", "no_std", "threaded"] + + steps: + - uses: actions/checkout@v2 + + - name: Setup .NET + uses: actions/setup-dotnet@v1 + with: + dotnet-version: "8.0.x" + + - name: Setup Node.js environment + uses: actions/setup-node@v2.4.1 + + - name: Setup Rust toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + + - name: Build Rust + run: npm run build-rust + + - name: Test Rust + run: npm run test-rust + + # Separate build job for JavaScript + build-javascript: + strategy: + matrix: + platform: [ubuntu-latest, windows-latest] + runs-on: ${{ matrix.platform }} + + steps: + - uses: actions/checkout@v2 + + - name: Setup .NET + uses: actions/setup-dotnet@v1 + with: + dotnet-version: "8.0.x" + + - name: Setup Node.js environment + uses: actions/setup-node@v2.4.1 + + - name: Build JS + run: npm run build-js From bbf72176fee59d817fa780df8f7cd211940016b8 Mon Sep 17 00:00:00 2001 From: Tommy Builds Date: Wed, 15 May 2024 06:58:07 -0700 Subject: [PATCH 2/9] Move workflow file --- .github/{.workflows => workflows}/build.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/{.workflows => workflows}/build.yml (100%) diff --git a/.github/.workflows/build.yml b/.github/workflows/build.yml similarity index 100% rename from .github/.workflows/build.yml rename to .github/workflows/build.yml From 3f7d78b3780cf1a068193abdbb75f0d7a2052ac8 Mon Sep 17 00:00:00 2001 From: Tommy Builds Date: Wed, 15 May 2024 07:02:42 -0700 Subject: [PATCH 3/9] Add build workflow --- .github/workflows/build.yml | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 382366d..d568844 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,23 +7,6 @@ on: branches: [main] jobs: - # Separate job that verifies if all code was formatted correctly - # Run `dotnet fantomas .` to format all code. - verify-linting: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - - name: Setup .NET - uses: actions/setup-dotnet@v3 - - - name: Restore tools - run: dotnet tool restore - - - name: Check F# code - run: dotnet fantomas . --check - # Separate build job for Rust (will run in parallel) build-rust: runs-on: ubuntu-latest @@ -39,6 +22,9 @@ jobs: with: dotnet-version: "8.0.x" + - name: Restore tools + run: dotnet tool restore + - name: Setup Node.js environment uses: actions/setup-node@v2.4.1 @@ -68,6 +54,9 @@ jobs: with: dotnet-version: "8.0.x" + - name: Restore tools + run: dotnet tool restore + - name: Setup Node.js environment uses: actions/setup-node@v2.4.1 From 0f1b16919b0b50c06a9679c4020656a6b9ce71b2 Mon Sep 17 00:00:00 2001 From: Tommy Builds Date: Wed, 15 May 2024 07:11:52 -0700 Subject: [PATCH 4/9] Add js test strategy --- .github/workflows/build.yml | 10 ++-------- package.json | 1 + 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d568844..8985681 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,10 +9,7 @@ on: jobs: # Separate build job for Rust (will run in parallel) build-rust: - runs-on: ubuntu-latest - strategy: - matrix: - test: ["default", "no_std", "threaded"] + runs-on: [ubuntu-latest, macos-latest, windows-latest] steps: - uses: actions/checkout@v2 @@ -41,10 +38,7 @@ jobs: # Separate build job for JavaScript build-javascript: - strategy: - matrix: - platform: [ubuntu-latest, windows-latest] - runs-on: ${{ matrix.platform }} + runs-on: [ubuntu-latest, windows-latest, macos-latest] steps: - uses: actions/checkout@v2 diff --git a/package.json b/package.json index 3faf537..c202fb6 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "build-rust-web": "npm run build-rust && wasm-pack build --target web", "build-rust-node": "npm run build-rust && wasm-pack build --target nodejs", + "test-js-node": "npm run build-js && node out/main.js", "test-rust-web": "npm run build-rust-web && npx http-server", "test-rust-node": "npm run build-rust-node && node src/Functor.RayTracer/test_wasm.js", "test-rust-target-cpu": "npm run build-rust && cargo run --config build.rustflags='\"-C target-cpu=native\"' --release", From 87d98f8583069c3bffc62c9656ef350d814a7397 Mon Sep 17 00:00:00 2001 From: Tommy Builds Date: Wed, 15 May 2024 07:12:16 -0700 Subject: [PATCH 5/9] Add test commands --- .github/workflows/build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8985681..701a046 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -56,3 +56,6 @@ jobs: - name: Build JS run: npm run build-js + + - name: Test JS + run: npm run test-js From cff5980249b922fa917a2fd72b1a9e677e63014d Mon Sep 17 00:00:00 2001 From: Tommy Builds Date: Thu, 16 May 2024 06:47:31 -0700 Subject: [PATCH 6/9] bump From 6461d93d513ca2c8d225ccdd364fa7c74b562a78 Mon Sep 17 00:00:00 2001 From: Tommy Builds Date: Thu, 16 May 2024 06:50:20 -0700 Subject: [PATCH 7/9] bump2 From 2f266b1502f26caf659b34483eff0b08fa9a9468 Mon Sep 17 00:00:00 2001 From: Tommy Builds Date: Thu, 16 May 2024 06:55:07 -0700 Subject: [PATCH 8/9] Scope runners --- .github/workflows/build.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 701a046..b117813 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,12 +4,11 @@ on: push: branches: [main] pull_request: - branches: [main] jobs: # Separate build job for Rust (will run in parallel) build-rust: - runs-on: [ubuntu-latest, macos-latest, windows-latest] + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -38,7 +37,7 @@ jobs: # Separate build job for JavaScript build-javascript: - runs-on: [ubuntu-latest, windows-latest, macos-latest] + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 From f540fe8e9dd835bd50c0d37a0803577c0ae8d354 Mon Sep 17 00:00:00 2001 From: Tommy Builds Date: Thu, 16 May 2024 20:34:51 -0700 Subject: [PATCH 9/9] Fix test js step --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b117813..d75e0fc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -57,4 +57,4 @@ jobs: run: npm run build-js - name: Test JS - run: npm run test-js + run: npm run test-js-node