Skip to content

Commit

Permalink
Actions rework
Browse files Browse the repository at this point in the history
  • Loading branch information
ThetaSinner committed Jun 24, 2024
1 parent da5e517 commit cb9390a
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 95 deletions.
23 changes: 23 additions & 0 deletions .github/actions/common-setup/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Common setup
description: Common setup steps for jobs that use Nix
runs:
using: composite
steps:
- uses: actions/checkout@v4

- name: Maximize build space
if: runner.os == 'Linux'
uses: AdityaGarg8/remove-unwanted-software@v2
with:
remove-dotnet: 'true'
remove-android: 'true'
remove-codeql: 'true'
remove-docker-images: 'true'

- name: Install nix
uses: cachix/install-nix-action@v27
with:
install_url: https://releases.nixos.org/nix/nix-2.23.0/install

- name: Use GitHub cache
uses: DeterminateSystems/magic-nix-cache-action@main
126 changes: 31 additions & 95 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,141 +13,77 @@ concurrency:
cancel-in-progress: true

jobs:
build-holochain:
build-from-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Maximize build space
uses: AdityaGarg8/remove-unwanted-software@v2
with:
remove-dotnet: 'true'
remove-android: 'true'
remove-codeql: 'true'
remove-docker-images: 'true'
- name: Install nix
uses: cachix/install-nix-action@v26
with:
install_url: https://releases.nixos.org/nix/nix-2.20.4/install

- name: Build for x86_64-unknown-linux-gnu
- uses: ./.github/actions/common-setup

- name: Build Lair Keystore for x86_64-unknown-linux-gnu
run: nix build .#lair_keystore_x86_64-linux

- name: Build Lair Keystore for aarch64-unknown-linux-gnu
run: nix build .#lair_keystore_aarch64-linux

- name: Build Lair Keystore for x86_64-pc-windows-gnu
run: nix build .#lair_keystore_x86_64-windows

- name: Build Holochain for x86_64-unknown-linux-gnu
run: nix build .#holochain_x86_64-linux

- name: Build for aarch64-unknown-linux-gnu
- name: Build Holochain for aarch64-unknown-linux-gnu
run: nix build .#holochain_aarch64-linux

- name: Build for x86_64-pc-windows-gnu
- name: Build Holochain for x86_64-pc-windows-gnu
run: nix build .#holochain_x86_64-windows

build-holochain-apple:
build-from-apple:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/common-setup

- name: Install nix
uses: cachix/install-nix-action@v26
with:
install_url: https://releases.nixos.org/nix/nix-2.20.4/install
- name: Build Lair Keystore for aarch64-apple-darwin
run: nix build .#lair_keystore_aarch64-apple

- name: Build for aarch64-apple-darwin
- name: Build Holochain for aarch64-apple-darwin
run: nix build .#holochain_aarch64-apple

build-holochain-legacy-apple:
build-from-legacy-apple:
runs-on: macos-13
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/common-setup

- name: Install nix
uses: cachix/install-nix-action@v26
with:
install_url: https://releases.nixos.org/nix/nix-2.20.4/install
- name: Build Lair Keystore for x86_64-apple-darwin
run: nix build .#lair_keystore_x86_64-apple

- name: Build for x86_64-apple-darwin
- name: Build Holochain for x86_64-apple-darwin
run: nix build .#holochain_x86_64-apple

build-lair-keystore:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Maximize build space
uses: AdityaGarg8/remove-unwanted-software@v2
with:
remove-dotnet: 'true'
remove-android: 'true'
remove-codeql: 'true'
remove-docker-images: 'true'
- name: Install nix
uses: cachix/install-nix-action@v26
with:
install_url: https://releases.nixos.org/nix/nix-2.20.4/install

- name: Build for x86_64-unknown-linux-gnu
run: nix build .#lair_keystore_x86_64-linux

- name: Build for aarch64-unknown-linux-gnu
run: nix build .#lair_keystore_aarch64-linux

- name: Build for x86_64-pc-windows-gnu
run: nix build .#lair_keystore_x86_64-windows

build-lair-keystore-apple:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4

- name: Install nix
uses: cachix/install-nix-action@v26
with:
install_url: https://releases.nixos.org/nix/nix-2.20.4/install

- name: Build for aarch64-apple-darwin
run: nix build .#lair_keystore_aarch64-apple

build-lair-keystore-legacy-apple:
runs-on: macos-13
steps:
- uses: actions/checkout@v4

- name: Install nix
uses: cachix/install-nix-action@v26
with:
install_url: https://releases.nixos.org/nix/nix-2.20.4/install

- name: Build for x86_64-apple-darwin
run: nix build .#lair_keystore_x86_64-apple

bundle-x86-64-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Install nix
uses: cachix/install-nix-action@v26
with:
install_url: https://releases.nixos.org/nix/nix-2.20.4/install
- uses: ./.github/actions/common-setup

- name: Build Lair Keystore
- name: Bundle Lair Keystore
run: |
nix bundle .#holonix_lair_keystore
./lair-keystore --version
- name: Build Holochain
- name: Bundle Holochain
run: |
nix bundle .#holonix_holochain
./holochain --version
- name: Build hc CLI
- name: Bundle hc CLI
run: |
nix bundle .#holonix_hc
./hc --version
- name: Build hc-run-local-services CLI
- name: Bundle hc-run-local-services CLI
run: |
nix bundle .#holonix_hc_run_local_services
./hc-run-local-services --version
- name: Build hcterm CLI
- name: Bundle hcterm CLI
run: |
nix bundle .#holonix_hcterm
./hcterm --version

0 comments on commit cb9390a

Please sign in to comment.