Commit graph

24 commits

Author SHA1 Message Date
Charles Hall
38202813ff remove nix-direnv
It doesn't actually do anything unless more configuration is added, but
it's not really necessary for this use case so removing it is easier.
2025-08-03 10:59:28 -07:00
Charles Hall
547881fb4a show path upload count 2025-08-03 10:59:28 -07:00
Charles Hall
132528b545 improve variable names' clarity 2025-08-03 10:59:28 -07:00
Charles Hall
47c210d5de reorder attic token check 2025-08-03 10:59:05 -07:00
Charles Hall
7fc39b1845 simplify attic call
The comment isn't really needed since the reasoning applies to the
other instances of readarray and here-strings too, and the IFS bit is
unnecessary.
2025-08-03 10:57:39 -07:00
Charles Hall
85b9080c77 change working directory
Did you know installables are parsed with regex? This mitigates how
horrifying that is.
2025-08-02 20:49:19 -07:00
Charles Hall
be3822d585 drop eval
Shellcheck says so.
2025-08-02 20:49:19 -07:00
Charles Hall
cf4f2fe51b use more readarray
The first part replaces a loop which is probably a performance
improvement, and the second part addresses a shellcheck complaint about
not declaring and assigning separately.
2025-08-02 20:49:19 -07:00
Charles Hall
b5294f9aa0 remove all-features devshell
It's no longer necessary since it's equivalent to the default-features
one now. The `DIRENV_DEVSHELL` thing is left in place however in case
that becomes useful again in the future.
2025-07-24 15:00:02 -07:00
Charles Hall
1e050c8983
expose static binaries in gitlab artifacts again 2024-12-11 14:37:43 -08:00
Charles Hall
9e3738d330
run some jobs on the final commit only
These are too expensive to be worth running against all commits.
2024-12-11 11:39:20 -08:00
Charles Hall
f4dfb496e1
skip jobs that don't make artifacts on main branch
This is okay because we only allow fast-forward merges, changes always
go through MRs, and MRs are subject to, e.g., the code quality checks.
This change is desirable because it should save some time and energy.
2024-12-11 11:39:20 -08:00
Charles Hall
976aef690f
cache and skip commits that have passed already
Commits marked as passed can be re-run by changing their hash or
clearing the cache.
2024-12-11 11:39:20 -08:00
Charles Hall
2265b6615e
run ci for each commit
GitLab doesn't seem to have built-in support for this because of course
it doesn't.

To do this, we move the job scripts to a different file to make it
possible to share code between job scripts.
2024-12-11 11:39:20 -08:00
Charles Hall
a5eba45472
set owner write bit in pages job
This makes deleting the copied files easier.
2024-12-11 11:39:20 -08:00
Charles Hall
540cc89c83
move ci job scipts into an actual script
This will make it possible/easier to:

* share code between jobs
* run jobs locally
2024-12-11 11:39:20 -08:00
Benjamin Lee
467417c32a
use all-features devshell for clippy/all in CI
Without this, we're building a static rocksdb inside the rust-rocksdb
build script every time. As far as I know this doesn't change clippy's
behavior, but it does take a *long* time.
2024-05-30 21:19:08 -07:00
Charles Hall
ca03722072
build and cache all packages and CI dependencies
This fixes the problem where some artifacts were not being cached when
they should have been. The secret sauce is the  `nix-store` command.

Also stops emitting artifacts to GitLab. Automatic build scheduling via
Nix is too convenient. Maybe I'll figure out a way to do both later on.

Also pins the remaining unpinned dependencies, namely direnv and
nix-direnv.
2024-05-14 20:08:37 -07:00
Charles Hall
ce5ce60dd9
use nix-output-monitor if available 2024-05-14 20:08:37 -07:00
Charles Hall
d41f0fbf72
remove documentation, metadata, etc
This drastically reduces the maintenance burden.

You may notice the `CODE_OF_CONDUCT.md` is deleted here. This is because
I don't feel like updating the relevant parts and I don't think this
will ever actually have a community build around it. If that changes for
some reason, I'm not opposed to adding a code of conduct again.
2024-04-30 21:54:55 -07:00
Charles Hall
ae69da635b
allow overriding the attic endpoint
And also the public key so that pulling from the new endpoint will work.

This allows other people to host their own attic instances and configure
their (CI) environment to override the default endpoint so e.g. they can
take advantage of a binary cache without having write access to the
official one.

I didn't actually test this change but I think it should work.

Also why'd I format the script like that, ew lol
2024-03-05 15:06:52 -08:00
Charles Hall
d411e9037c
upload all devshell inputs to the cache
This will also include attic, so we don't need to explicitly do this
in `./bin/nix-build-and-cache` anymore, which is good because that
script gets called a good number of times and doing that repeatedly was
a bit of a waste.
2024-03-05 15:06:52 -08:00
Charles Hall
cf8f1f2546
make a bunch of changes so complement works again
Well, kinda. It crashed on me after 10 minutes because the tests timed
out like in <https://github.com/matrix-org/complement/issues/394>.
Sounds like this means it's a them problem though.

I want to use Nix to build this image instead in the future but this
will at least make it work for now and give me a reference for while I'm
porting it. I also want to make Conduit natively understand Complement's
requirements instead of `sed`ing a bunch of stuff and needing a reverse
proxy in the container. Should be more reliable that way.

I'm not making this run in CI until the above stuff is addressed and
until I can decide on a way to pin the revision of Complement being
tested against.
2024-01-27 18:09:43 -08:00
Charles Hall
5cc53c9e14
push oci image and x86_64-*-gnu build to bin cache
This will allow most Nix users to use the `default` package and without
having to build from source. And also allows any weirdos to get the OCI
image from the Nix binary cache if they want. No idea why that would be
desireable though lol
2024-01-25 11:37:35 -08:00