Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
conduwuit
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
🥺
conduwuit
Commits
2e15a0d1
Commit
2e15a0d1
authored
11 months ago
by
🥺
Committed by
🥺
11 months ago
Browse files
Options
Downloads
Patches
Plain Diff
split up CI again into tests, static builds, and OCI images
Signed-off-by:
strawberry
<
strawberry@puppygock.gay
>
parent
73b25b97
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
.github/workflows/ci.yml
+157
-16
157 additions, 16 deletions
.github/workflows/ci.yml
with
157 additions
and
16 deletions
.github/workflows/ci.yml
+
157
−
16
View file @
2e15a0d1
...
@@ -26,11 +26,84 @@ permissions:
...
@@ -26,11 +26,84 @@ permissions:
contents
:
read
contents
:
read
jobs
:
jobs
:
build-and-
test
:
test
s
:
name
:
CI
,
Tests
, Artifacts, and Publish
name
:
CI
and
Tests
runs-on
:
ubuntu-latest
runs-on
:
ubuntu-latest
steps
:
-
name
:
Sync repository
uses
:
actions/checkout@v4
-
name
:
Install Nix (with flakes and nix-command enabled)
uses
:
cachix/install-nix-action@v26
with
:
nix_path
:
nixpkgs=channel:nixos-unstable
# Add `nix-community`, Crane, upstream Conduit, and conduwuit binary caches
extra_nix_config
:
|
experimental-features = nix-command flakes
extra-substituters = https://nix-community.cachix.org
extra-trusted-public-keys = nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
extra-substituters = https://crane.cachix.org
extra-trusted-public-keys = crane.cachix.org-1:8Scfpmn9w+hGdXH/Q9tTLiYAE/2dnJYRJP7kl80GuRk=
extra-substituters = https://nix.computer.surgery/conduit
extra-trusted-public-keys = conduit:ZGAf6P6LhNvnoJJ3Me3PRg7tlLSrPxcQ2RiE5LIppjo=
extra-substituters = https://attic.kennel.juneis.dog/conduit
extra-trusted-public-keys = conduit:Isq8FGyEC6FOXH6nD+BOeAA+bKp6X6UIbupSlGEPuOg=
extra-substituters = https://attic.kennel.juneis.dog/conduwuit
extra-trusted-public-keys = conduwuit:lYPVh7o1hLu1idH4Xt2QHaRa49WRGSAqzcfFd94aOTw=
-
name
:
Add alternative Nix binary caches if specified
if
:
${{ (env.ATTIC_ENDPOINT != '') && (env.ATTIC_PUBLIC_KEY != '') }}
run
:
|
echo "extra-substituters = ${{ env.ATTIC_ENDPOINT }}" >> /etc/nix/nix.conf
echo "extra-trusted-public-keys = ${{ env.ATTIC_PUBLIC_KEY }}" >> /etc/nix/nix.conf
-
name
:
Pop/push Magic Nix Cache
uses
:
DeterminateSystems/magic-nix-cache-action@main
-
name
:
Configure `nix-direnv`
run
:
|
echo 'source $HOME/.nix-profile/share/nix-direnv/direnvrc' > "$HOME/.direnvrc"
-
name
:
Install `direnv` and `nix-direnv`
run
:
nix-env -f "<nixpkgs>" -iA direnv -iA nix-direnv
-
name
:
Pop/push downloaded crate cache
uses
:
actions/cache@v4
with
:
key
:
downloaded-crates
path
:
~/.cargo
-
name
:
Pop/push compiled crate cache
uses
:
actions/cache@v4
with
:
key
:
compiled-crates-${{runner.os}}
path
:
target
# Do this to shorten the logs for the real CI step
-
name
:
Populate `/nix/store`
run
:
nix develop --command
true
-
name
:
Allow direnv
run
:
direnv allow
-
name
:
Cache x86_64 inputs for devShell
run
:
|
./bin/nix-build-and-cache .#devShells.x86_64-linux.default.inputDerivation
-
name
:
Perform continuous integration
run
:
direnv exec . engage
build-static
:
name
:
Static Artifacts
runs-on
:
ubuntu-latest
needs
:
tests
strategy
:
strategy
:
max-parallel
:
4
max-parallel
:
3
matrix
:
matrix
:
target
:
[
target
:
[
"
static-x86_64-unknown-linux-musl"
,
"
static-x86_64-unknown-linux-musl"
,
...
@@ -40,15 +113,6 @@ jobs:
...
@@ -40,15 +113,6 @@ jobs:
"
static-aarch64-unknown-linux-musl-jemalloc"
,
"
static-aarch64-unknown-linux-musl-jemalloc"
,
"
static-aarch64-unknown-linux-musl-hmalloc"
,
"
static-aarch64-unknown-linux-musl-hmalloc"
,
]
]
oci-target
:
[
"
x86_64-unknown-linux-gnu"
,
"
x86_64-unknown-linux-musl"
,
"
x86_64-unknown-linux-musl-jemalloc"
,
"
x86_64-unknown-linux-musl-hmalloc"
,
"
aarch64-unknown-linux-musl"
,
"
aarch64-unknown-linux-musl-jemalloc"
,
"
aarch64-unknown-linux-musl-hmalloc"
,
]
steps
:
steps
:
-
name
:
Sync repository
-
name
:
Sync repository
...
@@ -113,10 +177,6 @@ jobs:
...
@@ -113,10 +177,6 @@ jobs:
./bin/nix-build-and-cache .#devShells.x86_64-linux.default.inputDerivation
./bin/nix-build-and-cache .#devShells.x86_64-linux.default.inputDerivation
-
name
:
Perform continuous integration
run
:
direnv exec . engage
-
name
:
Build static artifacts
-
name
:
Build static artifacts
run
:
|
run
:
|
./bin/nix-build-and-cache .#${{ matrix.target }}
./bin/nix-build-and-cache .#${{ matrix.target }}
...
@@ -139,6 +199,87 @@ jobs:
...
@@ -139,6 +199,87 @@ jobs:
if-no-files-found
:
error
if-no-files-found
:
error
build-oci
:
name
:
OCI Artifacts and Publish
runs-on
:
ubuntu-latest
needs
:
tests
strategy
:
max-parallel
:
3
matrix
:
oci-target
:
[
"
x86_64-unknown-linux-gnu"
,
"
x86_64-unknown-linux-musl"
,
"
x86_64-unknown-linux-musl-jemalloc"
,
"
x86_64-unknown-linux-musl-hmalloc"
,
"
aarch64-unknown-linux-musl"
,
"
aarch64-unknown-linux-musl-jemalloc"
,
"
aarch64-unknown-linux-musl-hmalloc"
,
]
steps
:
-
name
:
Sync repository
uses
:
actions/checkout@v4
-
name
:
Install Nix (with flakes and nix-command enabled)
uses
:
cachix/install-nix-action@v26
with
:
nix_path
:
nixpkgs=channel:nixos-unstable
# Add `nix-community`, Crane, upstream Conduit, and conduwuit binary caches
extra_nix_config
:
|
experimental-features = nix-command flakes
extra-substituters = https://nix-community.cachix.org
extra-trusted-public-keys = nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
extra-substituters = https://crane.cachix.org
extra-trusted-public-keys = crane.cachix.org-1:8Scfpmn9w+hGdXH/Q9tTLiYAE/2dnJYRJP7kl80GuRk=
extra-substituters = https://nix.computer.surgery/conduit
extra-trusted-public-keys = conduit:ZGAf6P6LhNvnoJJ3Me3PRg7tlLSrPxcQ2RiE5LIppjo=
extra-substituters = https://attic.kennel.juneis.dog/conduit
extra-trusted-public-keys = conduit:Isq8FGyEC6FOXH6nD+BOeAA+bKp6X6UIbupSlGEPuOg=
extra-substituters = https://attic.kennel.juneis.dog/conduwuit
extra-trusted-public-keys = conduwuit:lYPVh7o1hLu1idH4Xt2QHaRa49WRGSAqzcfFd94aOTw=
-
name
:
Add alternative Nix binary caches if specified
if
:
${{ (env.ATTIC_ENDPOINT != '') && (env.ATTIC_PUBLIC_KEY != '') }}
run
:
|
echo "extra-substituters = ${{ env.ATTIC_ENDPOINT }}" >> /etc/nix/nix.conf
echo "extra-trusted-public-keys = ${{ env.ATTIC_PUBLIC_KEY }}" >> /etc/nix/nix.conf
-
name
:
Pop/push Magic Nix Cache
uses
:
DeterminateSystems/magic-nix-cache-action@main
-
name
:
Configure `nix-direnv`
run
:
|
echo 'source $HOME/.nix-profile/share/nix-direnv/direnvrc' > "$HOME/.direnvrc"
-
name
:
Install `direnv` and `nix-direnv`
run
:
nix-env -f "<nixpkgs>" -iA direnv -iA nix-direnv
-
name
:
Pop/push downloaded crate cache
uses
:
actions/cache@v4
with
:
key
:
downloaded-crates
path
:
~/.cargo
-
name
:
Pop/push compiled crate cache
uses
:
actions/cache@v4
with
:
key
:
compiled-crates-${{runner.os}}
path
:
target
# Do this to shorten the logs for the real CI step
-
name
:
Populate `/nix/store`
run
:
nix develop --command
true
-
name
:
Allow direnv
run
:
direnv allow
-
name
:
Cache x86_64 inputs for devShell
run
:
|
./bin/nix-build-and-cache .#devShells.x86_64-linux.default.inputDerivation
-
name
:
Build OCI images
-
name
:
Build OCI images
run
:
|
run
:
|
./bin/nix-build-and-cache .#oci-image-${{ matrix.oci-target }}
./bin/nix-build-and-cache .#oci-image-${{ matrix.oci-target }}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment