simplify make actions #4
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ---------------------------------------------------------------------------- # | |
# # | |
# +--------------------------------------------+ # | |
# | █████╗ ██╗ ██╗██████╗ █████╗ ███████╗ | # | |
# | ██╔══██╗██║ ██║██╔══██╗██╔══██╗██╔════╝ | # | |
# | ███████║██║ ██║██████╔╝███████║█████╗ | # | |
# | ██╔══██║██║ ██║██╔══██╗██╔══██║██╔══╝ | # | |
# | ██║ ██║╚██████╔╝██║ ██║██║ ██║███████╗ | # | |
# | ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ | # | |
# +--------------------------------------------+ # | |
# # | |
# Distributed Systems Runtime # | |
# # | |
# ---------------------------------------------------------------------------- # | |
# # | |
# Copyright 2022 - 2024, the Aurae contributors # | |
# SPDX-License-Identifier: Apache-2.0 # | |
# # | |
# ---------------------------------------------------------------------------- # | |
# | |
# This is the main compile time check for Aurae. | |
# | |
# This build check will introduce confidence for the following: | |
# | |
# - That the binary does not have unexpected dependencies. | |
# - We intentionally build this on a clean ubuntu image, to prove that we can | |
# generate a static binary with minimal dependencies. | |
# - That the code does not warn (due to clippy errors/warnings) | |
# | |
# When this build passes we should have a "clean cargo" output! | |
# | |
name: "Tester (002) [ubuntu:latest] [auraescript]" | |
on: | |
push: | |
branches: main | |
pull_request: | |
branches: main | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: bufbuild/buf-setup-action@v1 | |
with: | |
github_token: ${{ github.token }} | |
version: 1.32.0 | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: 000-${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
restore-keys: | | |
000-${{ runner.os }}-cargo- | |
- name: Install protoc-gen-doc in [ubuntu:latest] | |
run: | | |
wget https://github.com/pseudomuto/protoc-gen-doc/releases/download/v1.5.1/protoc-gen-doc_1.5.1_linux_amd64.tar.gz | |
tar -xzf protoc-gen-doc_1.5.1_linux_amd64.tar.gz | |
chmod +x protoc-gen-doc | |
cp protoc-gen-doc /usr/local/bin/protoc-gen-doc | |
sudo apt-get update | |
sudo apt-get install -y protobuf-compiler | |
- name: Install compile time dependencies (musl-tools) in [ubuntu:latest] | |
# | |
# Do not add GNU libraries here! Do not add GNU libraries here! | |
# | |
# Please (seriously please) be careful about adding commands here. | |
# This is our core way of validating that our binary is "healthy" | |
# If we need to install anything with the word "lib" in it to get | |
# the build to pass, we likely should be having other discussions | |
# instead of adding commands here. | |
# | |
# Do not add GNU libraries here! Do not add GNU libraries here! | |
# | |
# For example, we should NOT be adding libraries such as "libseccomp" | |
# or "libdbus". | |
# | |
# If in doubt, please ask in Discord in the build channel. | |
# | |
# Do not at GNU libraries here! Do not add GNU libraries here! | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y musl-tools | |
- name: Lint and test [auraescript] | |
run: make auraescript-lint auraescript-test |