Skip to content

Commit

Permalink
Add compiler building workflow
Browse files Browse the repository at this point in the history
The compiler is built for the following hosts:

- x86_64-unknown-linux-gnu
- x86_64-apple-darwin
- aarch64-apple-darwin

And produces code for the following targets:

- The host triple
- wasm32-unknown-unknown
- wasm64-unknown-unknown
  • Loading branch information
Eduardo Leegwater Simões committed Oct 17, 2024
1 parent 826db24 commit 2e1df30
Show file tree
Hide file tree
Showing 2 changed files with 89 additions and 0 deletions.
64 changes: 64 additions & 0 deletions .github/workflows/dusk.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Instructions for GitHub to build Dusk's smart contract compilers.

on:
pull_request:
push:
tags:
- "v*.*.*"
branches:
- master

name: Dusk Contract Compilers

jobs:
target:
strategy:
matrix:
target: [
x86_64-unknown-linux-gnu,
x86_64-apple-darwin,
aarch64-apple-darwin,
]
include:
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu
- os: macos-latest-large
target: x86_64-apple-darwin
- os: macos-latest-xlarge
target: aarch64-apple-darwin
runs-on: ${{ matrix.os }}
steps:
- name: Check out repository
uses: actions/checkout@v4
with:
fetch-depth: 16

- name: Setup dependencies
if: matrix.os == 'ubuntu-latest'
run: sudo apt update && sudo apt install -y ninja-build

- name: Setup dependencies
if: startsWith(matrix.os, 'macos')
run: |
brew install ninja gettext &&
brew link --force gettext
- name: Generate configuration
run: |
HOST=${{ matrix.target }} envsubst < config.template.toml > config.toml &&
cat config.toml
- name: Run build
run: ./x.py dist

- name: Set artifact name
id: artifact-name
run: |
if [ "${{ github.ref_type }}" == "tag" ]; then
echo "name=duskc-${{ matrix.target }}-${{ github.ref_name }}" >> "$GITHUB_OUTPUT"
else
echo "name=duskc-${{ matrix.target }}-${{ github.sha }}" >> "$GITHUB_OUTPUT"
fi
- name: Upload build
uses: actions/upload-artifact@v3
with:
name: ${{ steps.artifact-name.outputs.name }}
path: build/dist/
25 changes: 25 additions & 0 deletions config.template.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
change-id = 131075

[llvm]
download-ci-llvm = false
clang = true

[build]
host = [ "${HOST}" ]
target = [
"${HOST}",
"wasm32-unknown-unknown",
"wasm64-unknown-unknown"
]
docs = false
extended = true

[rust]
channel = "nightly"
description = "Dusk Network's Smart Contract Compiler"

lld = true

[dist]
compression-formats = ["gz"]
compression-profile = "best"

0 comments on commit 2e1df30

Please sign in to comment.