Skip to content

Commit

Permalink
Merge pull request #311 from betwixt-labs/vnext
Browse files Browse the repository at this point in the history
release: bebop v3
  • Loading branch information
andrewmd5 authored Mar 12, 2024
2 parents 396ae02 + 4f0fcee commit f7b9b20
Show file tree
Hide file tree
Showing 352 changed files with 31,246 additions and 3,912 deletions.
8 changes: 4 additions & 4 deletions .env
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
VERSION="2.8.7"
MAJOR=2
MINOR=8
PATCH=7
VERSION="3.0.4"
MAJOR=3
MINOR=0
PATCH=4
35 changes: 28 additions & 7 deletions .github/workflows/build-bebopc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,14 @@ on:
- "Core/**"
branches:
- master
- vnext
pull_request:
paths:
- "Compiler/**"
- "Core/**"
branches:
- master
- vnext
jobs:
build-compiler:
runs-on: ${{ matrix.os }}
Expand All @@ -31,32 +33,39 @@ jobs:
- os: ubuntu-22.04
IDENTIFIER: linux
ARTIFACT: bebopc
BUILD_WASI: true

env:
CONFIGURATION: Release
BUILD_ARTIFACT_X86_64: ./bin/compiler/Release/publish/${{matrix.IDENTIFIER}}-x64/${{matrix.ARTIFACT}}
BUILD_ARTIFACT_ARM64: ./bin/compiler/Release/publish/${{matrix.IDENTIFIER}}-arm64/${{matrix.ARTIFACT}}
BUILD_ARTIFACT_WASI: ./bin/compiler/Release/artifacts/wasi-wasm/AppBundle/${{matrix.ARTIFACT}}.wasm
BUILD_ZIP_ARTIFACT_X86_64: ./bin/compiler/Release/publish/${{matrix.ARTIFACT}}-${{matrix.IDENTIFIER}}-x64.zip
BUILD_ZIP_ARTIFACT_ARM64: ./bin/compiler/Release/publish/${{matrix.ARTIFACT}}-${{matrix.IDENTIFIER}}-arm64.zip

steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v4

- name: Get Enviorment Variables
id: dotenv
uses: falti/dotenv-action@v0.2.5
uses: falti/dotenv-action@v1.0.4

- if: matrix.os == 'ubuntu-22.04'
name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install clang zlib1g-dev libkrb5-dev libtinfo5
- if: matrix.os == 'ubuntu-22.04' && matrix.BUILD_WASI
name: Install WASI Dependencies
run: ./install-wasi.sh
working-directory: ./scripts/

- name: Setup .NET
uses: actions/setup-dotnet@v1
uses: actions/setup-dotnet@v3
with:
dotnet-version: "7.0.x" # SDK Version to use; x will use the latest version of the 7.0 channel
include-prerelease: true
dotnet-version: "8.0.x"
dotnet-quality: "preview"
- name: Restore Solution
run: dotnet restore

Expand All @@ -66,6 +75,11 @@ jobs:
dotnet publish -c ${{env.CONFIGURATION}} -r ${{matrix.IDENTIFIER}}-arm64 -p:ReleaseVersion=${{ steps.dotenv.outputs.version }} -p:PublishTrimmed=false -p:PublishSingleFile=true --self-contained
working-directory: ./Compiler/

- if: matrix.os == 'ubuntu-22.04' && matrix.BUILD_WASI
name: Build bebopc for WASI
run: ./build-wasi.sh
working-directory: ./scripts/

- if: matrix.os == 'macos-latest'
name: Zip macOS Binary
run: |
Expand All @@ -86,13 +100,20 @@ jobs:
Compress-Archive -Path ${{env.BUILD_ARTIFACT_ARM64}} -DestinationPath ${{env.BUILD_ZIP_ARTIFACT_ARM64}}
- name: Upload X86_64 Build
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: ${{matrix.IDENTIFIER}}-x64
path: ${{env.BUILD_ZIP_ARTIFACT_X86_64}}

- name: Upload ARM64 Build
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: ${{matrix.IDENTIFIER}}-arm64
path: ${{env.BUILD_ZIP_ARTIFACT_ARM64}}

- if: matrix.os == 'ubuntu-22.04' && matrix.BUILD_WASI
name: Upload WASI_WASM Build
uses: actions/upload-artifact@v4
with:
name: wasi-wasm
path: ${{env.BUILD_ARTIFACT_WASI}}
108 changes: 108 additions & 0 deletions .github/workflows/build-chordc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
name: build-chordc
on:
workflow_dispatch:
push:
paths:
- "extensions/**"
branches:
- master
- vnext
pull_request:
paths:
- "extensions/**"
branches:
- master
- vnext
jobs:
build-chordc:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest, macos-latest, ubuntu-22.04]
include:
- os: macos-latest
IDENTIFIER: osx
ARTIFACT: chordc

- os: windows-latest
IDENTIFIER: win
ARTIFACT: chordc.exe

- os: ubuntu-22.04
IDENTIFIER: linux
ARTIFACT: chordc
BUILD_WASI: true

env:
CONFIGURATION: Release
CHORD_ARTIFACT_X86_64: ./extensions/chordc/bin/Release/net8.0/${{matrix.IDENTIFIER}}-x64/publish/${{matrix.ARTIFACT}}
CHORD_ARTIFACT_ARM64: ./extensions/chordc/bin/Release/net8.0/${{matrix.IDENTIFIER}}-arm64/publish/${{matrix.ARTIFACT}}
CHORD_ZIP_ARTIFACT_X86_64: ./extensions/chordc/bin/Release/net8.0/${{matrix.IDENTIFIER}}-x64/publish/${{matrix.ARTIFACT}}-${{matrix.IDENTIFIER}}-x64.zip
CHORD_ZIP_ARTIFACT_ARM64: ./extensions/chordc/bin/Release/net8.0/${{matrix.IDENTIFIER}}-arm64/publish/${{matrix.ARTIFACT}}-${{matrix.IDENTIFIER}}-arm64.zip

steps:
- uses: actions/checkout@v4

- name: Get Enviorment Variables
id: dotenv
uses: falti/[email protected]

- if: matrix.os == 'ubuntu-22.04'
name: Install Dependencies
run: |
sudo dpkg --add-architecture arm64
sudo bash -c 'cat > /etc/apt/sources.list.d/arm64.list <<EOF
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ jammy main restricted
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ jammy-updates main restricted
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ jammy-backports main restricted universe multiverse
EOF'
sudo sed -i -e 's/deb http/deb [arch=amd64] http/g' /etc/apt/sources.list
sudo sed -i -e 's/deb mirror/deb [arch=amd64] mirror/g' /etc/apt/sources.list
sudo apt update
sudo apt install -y clang llvm binutils-aarch64-linux-gnu gcc-aarch64-linux-gnu zlib1g-dev zlib1g-dev:arm64
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: "8.0.x"
dotnet-quality: "preview"
- name: Restore Solution
run: dotnet restore
working-directory: ./extensions/chordc

- name: Build chordc
run: |
dotnet publish -c ${{env.CONFIGURATION}} -r ${{matrix.IDENTIFIER}}-x64
dotnet publish -c ${{env.CONFIGURATION}} -r ${{matrix.IDENTIFIER}}-arm64
working-directory: ./extensions/chordc

- if: matrix.os == 'macos-latest'
name: Zip chordc macOS Binary
run: |
zip -j ${{env.CHORD_ZIP_ARTIFACT_X86_64}} ${{env.CHORD_ARTIFACT_X86_64}}
zip -j ${{env.CHORD_ZIP_ARTIFACT_ARM64}} ${{env.CHORD_ARTIFACT_ARM64}}
- if: matrix.os == 'ubuntu-22.04'
name: ZIP chordc Linux Build
run: |
zip -j ${{env.CHORD_ZIP_ARTIFACT_X86_64}} ${{env.CHORD_ARTIFACT_X86_64}}
zip -j ${{env.CHORD_ZIP_ARTIFACT_ARM64}} ${{env.CHORD_ARTIFACT_ARM64}}
- if: matrix.os == 'windows-latest'
name: ZIP chordc Windows Build
shell: powershell
run: |
Compress-Archive -Path ${{env.CHORD_ARTIFACT_X86_64}} -DestinationPath ${{env.CHORD_ZIP_ARTIFACT_X86_64}}
Compress-Archive -Path ${{env.CHORD_ARTIFACT_ARM64}} -DestinationPath ${{env.CHORD_ZIP_ARTIFACT_ARM64}}
- name: Upload chordc X86_64 Build
uses: actions/upload-artifact@v4
with:
name: chordc-${{matrix.IDENTIFIER}}-x64
path: ${{env.CHORD_ZIP_ARTIFACT_X86_64}}

- name: Upload chordc ARM64 Build
uses: actions/upload-artifact@v4
with:
name: chordc-${{matrix.IDENTIFIER}}-arm64
path: ${{env.CHORD_ZIP_ARTIFACT_ARM64}}
36 changes: 36 additions & 0 deletions .github/workflows/build-playground.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Bebop Playground
on:
workflow_dispatch:
push:
paths:
- "playground/**"
pull_request:
paths:
- "playground/**"
jobs:
build-repl:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4

- name: Get Enviorment Variables
id: dotenv
uses: falti/[email protected]

- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: "8.0.x"
dotnet-quality: 'preview'
- name: Build Playground
run: |
../scripts/install-wasi.sh
yarn install
yarn build:site
working-directory: ./playground/

- name: Upload Package
uses: actions/upload-artifact@v4
with:
name: bebop-playground-latest
path: ${{github.workspace}}/playground/dist/
38 changes: 0 additions & 38 deletions .github/workflows/build-repl.yml

This file was deleted.

13 changes: 7 additions & 6 deletions .github/workflows/build-runtime-cs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,23 +15,24 @@ jobs:
RUNTIME_ROOT: ${{github.workspace}}/Runtime/C#
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v4

- name: Get Enviorment Variables
id: dotenv
uses: falti/dotenv-action@v0.2.5
uses: falti/dotenv-action@v1.0.4

- name: Setup .NET
uses: actions/setup-dotnet@v1
uses: actions/setup-dotnet@v3
with:
dotnet-version: |
5.0.x
6.0.x
7.0.x
include-prerelease: true
8.0.x
dotnet-quality: 'preview'
- name: Generate Output.g.cs
working-directory: "./Laboratory/C#"
run: dotnet run --project ../../Compiler/ --cs "./GeneratedTestCode/Output.g.cs" --namespace Bebop.Codegen --files $(ls -p ../Schemas/Valid/*.bop | tr '\n' ' ')
run: dotnet run --project ../../Compiler/ --include $(ls -p ../Schemas/Valid/*.bop | tr '\n' ' ') build --generator "cs:./GeneratedTestCode/Output.g.cs,namespace=Bebop.Codegen"

- name: Run Test .NET 6
run: dotnet test -c Release -f net6.0
Expand All @@ -58,7 +59,7 @@ jobs:
working-directory: ${{env.RUNTIME_ROOT}}

- name: Upload Package
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: bebop-runtime-cs-latest
path: ${{env.RUNTIME_ROOT}}/bin/Release/*.nupkg
8 changes: 2 additions & 6 deletions .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,9 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Setup .NET
uses: actions/setup-dotnet@v1
uses: actions/setup-dotnet@v3
with:
dotnet-version: |
5.0.x
6.0.x
7.0.x
include-prerelease: true
dotnet-version: 8.0.x
- name: Setup Rust
uses: actions-rs/toolchain@v1
with:
Expand Down
Loading

0 comments on commit f7b9b20

Please sign in to comment.