Commit Graph

13 Commits

Author SHA1 Message Date
Diederik de Haas 422832740b
Fix shellcheck issue SC2086 (quotes)
SC2086: Double quote to prevent globbing and word splitting.

Also remove it from the exclude list in the CI config file.
2022-11-14 22:38:56 +01:00
Diederik de Haas 9bb0488096
Fix shellcheck issue SC2154
SC2154: var is referenced but not assigned.

The 'rootmnt' variable is set in /usr/share/initramfs-tools/init and if
it's not available, that would be bad.
According to SC2154 you can fix that issue by using '${var:?}' so it
would fail if unset or empty.
So apply that and reference that SC item in the comments.

Also remove it from the exclude list in the CI config file.
2022-11-14 22:38:47 +01:00
Diederik de Haas cf2eb655d9
Simplify and fix 'build yamls' job
To build the yaml files, we only need python3 and make.
All the other/old packages that got installed are needed for building
actual images, so get rid of them.
This should also significantly speed up the job.

While checking the 'artifacts' I noticed that git operations didn't
produce the output as expected, both in top comment as at the end where
build information is written to /etc/raspi-image-id.
That was caused by git not working as it wasn't installed.
2022-11-14 18:00:40 +01:00
Diederik de Haas 58a3ee3f68
ci: Add 'shellcheck' job to 'check input' stage
Check all the scripts, under 'rootfs/etc/initramfs-tools' (for now) with
'shellcheck'.
A couple of checks are excluded of which SC1090 and SC1091 will remain.
But SC2086 and especially SC2154 should be fixed! And when they are
fixed in the current code, those should be enabled again for checking.

Also rename 'check yamls' job to 'yamllint', so that's directly clear
which tool is being used.
2022-11-11 23:51:17 +01:00
Diederik de Haas 76fb71f4b1
ci: Add 'check yamls' job in (new) 'check input' stage
Add a new stage 'check input' to our CI configuration to check whether
our input files contain errors.
The first check is for the YAML files whether they contain errors or
warnings according to 'yamllint'.

Add 'yamllint' config file to not consider too long lines as errors.
And fix the errors/warnings in 'salsa-ci.yml' itself.

Apparently job names can contain space, so rename 'build-yamls' to
'build yamls'.
2022-11-11 19:52:12 +01:00
Diederik de Haas b5ad7ef916
Upgrade pkgs separately before installing new ones
Upgrade the existing packages before installing new ones.
It's better to have a fully up-to-date system to work on and it could
also fix/prevent an installation issue if a package depends on an
existing, but un-upgraded one. With this change we get
"and 0 not upgraded", which was not always the case before.

Also add a '/' after the 'build' directory to make it clear it is a dir.
2022-11-05 12:48:22 +01:00
Diederik de Haas f11c05bf28
Use 'eatmydata' to speed up package install
The 'eatmydata' program is "designed to disable fsync and friends" and
can speed up tasks at the risk of potential data loss.
The speed up is welcome and the data loss not important as it would only
make the pipeline fail (most likely), but you can run it again.
2022-11-04 19:10:35 +01:00
Diederik de Haas 87fca3ceed
Remove 'only' keyword statements
It's unclear (to me) what they filter out. And why.

https://salsa.debian.org/help/ci/yaml/index#only-except says:
"NOTE: only and except are not being actively developed. rules is
the preferred keyword to control when to add jobs to pipelines."

So if filtering is desired, it should be added using the 'rules' keyword
and the reasoning behind it should be clarified in comments and/or
commit messages.
2022-11-04 16:07:58 +01:00
Diederik de Haas 02567af307
Don't retry on failure
As we're just starting out using CI, it is especially important to be
aware of any failure, so that we can fix it.

Such a workaround can be added later in case it is deemed necessary.
2022-11-04 13:52:34 +01:00
Diederik de Haas 8b06d14925
Rename 'build' job to 'build-yamls'
This is more describtive and also to distinguish from the build stage.
2022-11-04 13:52:34 +01:00
Diederik de Haas ad77890ede
Switch to using images maintained by salsa ci team
Debian's Salsa team has their own registry of images they maintain, so
use them instead of ones maintained by gitlab.
At https://salsa.debian.org/salsa-ci-team/pipeline/container_registry
one can view the various images they maintain.

Switch to using 'unstable' instead of 'sid'. The idea is to later also
add steps based on 'stable' and then 'unstable' matches better.
2022-11-04 13:52:34 +01:00
Diederik de Haas 5e42c6360a
Move some lines to other position in the file
It's common to define variables/constants in the top of a file, so do
that here too.

Move 'stage' field directly under step name as it's quite significant
and seen in other salsa-ci.yml as well.

Move 'image' line after 'stage' line as it's quite important as well.
2022-11-04 13:52:33 +01:00
Diederik de Haas b7df4bf849
Move .gitlab-ci.yml to debian/salsa-ci.yml
This seems to be the standard location for Salsa's CI.
2022-11-04 13:52:33 +01:00
Renamed from .gitlab-ci.yml (Browse further)