Skip to content

Commit

Permalink
wasi component of l3_fn_build
Browse files Browse the repository at this point in the history
  • Loading branch information
Adam McKee committed Jan 9, 2025
1 parent e2736f3 commit f3cd975
Show file tree
Hide file tree
Showing 14 changed files with 756 additions and 527 deletions.
22 changes: 12 additions & 10 deletions .github/workflows/gh_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,19 +68,21 @@ jobs:
tag_name: ${{ needs.publish-cargo-crates.outputs.tag_name }}
upload_hostname: ${{ steps.create.outputs.upload_hostname }}

publish-linux-and-macos-assets:
upload:
needs: create-gh-release
uses: ./.github/workflows/gh_release_upload.yml
strategy:
matrix:
include:
- filename: l3-linux-x86_64
- filename: l3-linux-aarch64
- filename: l3-macos-x86_64
- filename: l3-macos-aarch64
- filename: l3-windows-aarch64.exe
- filename: l3-windows-x86_64.exe
- filename: l3-fn-build.wasm
with:
release_id: ${{ needs.create-gh-release.outputs.release_id }}
tag_name: ${{ needs.create-gh-release.outputs.tag_name }}
upload_hostname: ${{ needs.create-gh-release.outputs.upload_hostname }}
secrets: inherit

publish-windows-assets:
needs: create-gh-release
uses: ./.github/workflows/gh_release_upload_windows.yml
with:
filename: ${{ matrix.filename }}
release_id: ${{ needs.create-gh-release.outputs.release_id }}
tag_name: ${{ needs.create-gh-release.outputs.tag_name }}
upload_hostname: ${{ needs.create-gh-release.outputs.upload_hostname }}
Expand Down
49 changes: 13 additions & 36 deletions .github/workflows/gh_release_upload.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
name: Upload Linux/MacOS
run-name: Upload ${{ inputs.tag_name }} bins for Linux/MacOS
name: Release upload
run-name: Upload ${{ inputs.filename }} to release ${{ inputs.tag_name }}

on:
workflow_call:
inputs:
filename:
required: true
type: string
release_id:
required: true
type: string
Expand All @@ -17,51 +20,25 @@ on:
jobs:

publish-asset:
name: "publish ${{ matrix.filename}}"
runs-on: ${{ matrix.runner }}
strategy:
matrix:
include:
- filename: l3-linux-x86_64
runner: ubuntu-24.04
target: x86_64-unknown-linux-gnu
- filename: l3-linux-aarch64
runner: ubuntu-24.04
target: aarch64-unknown-linux-gnu
apt_package_linker: gcc-aarch64-linux-gnu
- filename: l3-macos-x86_64
runner: macos-latest
target: x86_64-apple-darwin
- filename: l3-macos-aarch64
runner: macos-latest
target: aarch64-apple-darwin
name: "publish ${{ inputs.filename}}"
runs-on: ubuntu-latest
env:
FILENAME: ${{ matrix.filename }}
TARGET: ${{ matrix.target }}
FILENAME: ${{ inputs.filename }}
RELEASE_ID: ${{ inputs.release_id }}
UPLOAD_HOSTNAME: ${{ inputs.upload_hostname }}
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
ref: ${{ inputs.tag_name }}
- if: ${{ matrix.apt_package_linker }}
run: |
sudo apt update && sudo apt install ${{ matrix.apt_package_linker }}
mkdir -p $HOME/.cargo
mv ./.github/workflows/linkers.toml $HOME/.cargo/config.toml
- run: rustup install stable
- uses: swatinem/rust-cache@v2
- run: rustup target add $TARGET
- name: build
run: cargo build --release --target $TARGET
name: ${{ inputs.filename }}
path: ${{ inputs.filename }}
- name: upload
run: |
curl --fail --silent -L -X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer $GH_TOKEN" \
-H "X-GitHub-Api-Version: 2022-11-28" \
-H "Content-Type: $(file target/$TARGET/release/l3 -b --mime-type)" \
-H "Content-Type: $(file $FILENAME -b --mime-type)" \
https://$UPLOAD_HOSTNAME/repos/eighty4/l3/releases/$RELEASE_ID/assets?name=$FILENAME \
--data-binary "@target/$TARGET/release/l3"
--data-binary "@$FILENAME"
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
49 changes: 0 additions & 49 deletions .github/workflows/gh_release_upload_windows.yml

This file was deleted.

77 changes: 72 additions & 5 deletions .github/workflows/verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@ jobs:
verify:
runs-on: ubuntu-latest
needs:
- build
- build-l3-cli-linux-and-macos
- build-l3-cli-windows
- build-l3-fn-build-wasm
- examples
- fmt
- lint
Expand All @@ -27,17 +29,82 @@ jobs:
steps:
- run: echo "We're gonna face it"

build:
runs-on: ${{ matrix.runs-on }}
build-l3-cli-linux-and-macos:
name: "build ${{ matrix.filename}}"
runs-on: ${{ matrix.runner }}
strategy:
matrix:
runs-on: [macos-latest, ubuntu-latest, windows-latest]
include:
- filename: l3-linux-x86_64
runner: ubuntu-24.04
target: x86_64-unknown-linux-gnu
- filename: l3-linux-aarch64
runner: ubuntu-24.04
target: aarch64-unknown-linux-gnu
apt_package_linker: gcc-aarch64-linux-gnu
- filename: l3-macos-x86_64
runner: macos-latest
target: x86_64-apple-darwin
- filename: l3-macos-aarch64
runner: macos-latest
target: aarch64-apple-darwin
steps:
- uses: actions/checkout@v4
with:
ref: ${{ inputs.tag_name }}
- if: ${{ matrix.apt_package_linker }}
run: |
sudo apt update && sudo apt install ${{ matrix.apt_package_linker }}
mkdir -p $HOME/.cargo
mv ./.github/workflows/linkers.toml $HOME/.cargo/config.toml
- run: rustup install stable
- uses: swatinem/rust-cache@v2
- run: rustup target add ${{ matrix.target }}
- name: build
run: cargo build --release --target ${{ matrix.target }}
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.filename }}
path: target/${{ matrix.target }}/release/l3

build-l3-cli-windows:
name: "build ${{ matrix.filename}}"
runs-on: windows-2022
strategy:
matrix:
include:
- filename: l3-windows-aarch64.exe
target: aarch64-pc-windows-msvc
- filename: l3-windows-x86_64.exe
target: x86_64-pc-windows-msvc
steps:
- uses: actions/checkout@v4
with:
ref: ${{ inputs.tag_name }}
- run: rustup install stable
- uses: swatinem/rust-cache@v2
- run: rustup target add ${{ matrix.target }}
- name: build
shell: powershell
run: cargo build -p l3_cli --release --target ${{ matrix.target }}
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.filename }}
path: target/${{ matrix.target }}/release/l3

build-l3-fn-build-wasm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: rustup install stable
- uses: swatinem/rust-cache@v2
- run: rustup target add wasm32-wasip2
- name: cargo build
run: cargo build --all-features --release --workspace
run: cargo build --all-features --release -p l3_fn_build_wasm --target wasm32-wasip2
- uses: actions/upload-artifact@v4
with:
name: l3-fn-build.wasm
path: target/wasm32-wasip2/release/l3_fn_build.wasm

examples:
runs-on: ${{ matrix.runs-on }}
Expand Down
32 changes: 0 additions & 32 deletions .github/workflows/windows_upload_asset.mjs

This file was deleted.

Loading

0 comments on commit f3cd975

Please sign in to comment.