- 07 Mar, 2021 1 commit
-
-
Kevin Daudt authored
When no packages are built, `~/packages/` is empty, resulting into an error when referring to `~/packages/*`. Just ignore any errors for now.
-
- 27 Feb, 2021 6 commits
-
-
Kevin Daudt authored
See merge request !6
-
Kevin Daudt authored
With `set -u`, the shell will return an error. Use `${-}` to provide an empty default value.
-
Kevin Daudt authored
-
Kevin Daudt authored
When piping commands, the exit code of all commands except the last one is swallowed. This is problematic, because it prevents us properly detecting the if the build is successful, because we want to be able to pipe the output of commands to capture the output. POSIX sh however has no way to determine the exit status of earlier commands in the pipe. [pipestatus][0] is a small single-file library that has some functions that emulate a pipeline, and provide the exit status of each command. There is also a convenient function `runpipe0`, that will return only 0 if all the commands in the pipeline ran successful. [0]:https://github.com/cheusov/pipestatus/
-
Kevin Daudt authored
In order to make it easier to extract information from the buildlogs, write certain parts of the buildlogs to dedicated report logs. These logs can then be expose through artifacts.
-
Kevin Daudt authored
-
- 26 Feb, 2021 1 commit
-
-
Kevin Daudt authored
-
- 22 Feb, 2021 1 commit
-
-
Kevin Daudt authored
-
- 21 Feb, 2021 1 commit
-
-
Kevin Daudt authored
The maximum size of artifacts that can be uploaded to gitlab is limited to reduce the storage requirements. When packags are built successfully, but the combined package size is too large, the CI job will still fail, because it failed to upload the artifacts. To prevent this from happening, only offer the packages for upload as artifacts when the combined size is lower than a set limit. This will allow the CI job to succeed at the cost of not being able to download the built packages as artifacts. This also introduces a test suite to test the the build script.
-
- 20 Feb, 2021 3 commits
-
-
Kevin Daudt authored
To allow them to be uploaded as artifacts, they need to be available in the project directory. The files are now copied in the CI script, but the issue is that when the files are too large, the CI job fails. This is solved by copying these files only when they are smaller than the limit.
-
Kevin Daudt authored
This adds a basic test based on bats to verify that the build script works. This can be expanded with more tests to cover all functionality and edge cases.
-
Kevin Daudt authored
This makes it easier to test the script by allowing to specify a REPODEST in a temporary location. This variable is however not used consistently, so adjust the places that refer directly to `$HOME/packages` to use `$REPODEST`.
-
- 10 Feb, 2020 2 commits
-
-
Kevin Daudt authored
-
Kevin Daudt authored
If the tag already exists (because the repo is reused), then git will fail to create the tag by default.
-
- 09 Feb, 2020 2 commits
-
-
Kevin Daudt authored
-
Kevin Daudt authored
Shellcheck wants you to quote all variables to prevent accidental wordsplitting. But the arguments to `ap builddirs` should be splitted because each package should be a separate argument. 23ae6625 (build.sh: fix shellcheck issues, 2020-02-03) did quote `$aports`, breaking CI when trying to build multiple packages. Undo that change and add comments to show that it should remain unquoted.
-
- 04 Feb, 2020 2 commits
-
-
Kevin Daudt authored
-
Kevin Daudt authored
-
- 03 Feb, 2020 6 commits
-
-
Kevin Daudt authored
See merge request !5
-
Kevin Daudt authored
Only when CI_DEBUG_BUILD is non-empty
-
Kevin Daudt authored
-
Kevin Daudt authored
Shellcheck flagged various issues, like quoting variables to prevent splitting. Let's fix those.
-
Kevin Daudt authored
Closes alpine/infra/infra#10670 See merge request !4
-
Kevin Daudt authored
The testing repo is only available for edge, so do not add it to the repositories file when building for stable releases. Fixes: alpine/infra/infra#10670
-
- 29 Dec, 2019 1 commit
-
-
Kevin Daudt authored
-
- 11 Dec, 2019 1 commit
-
-
Kevin Daudt authored
Setting up a base build setup has been moved to a dedicated image called alpinelinux/build-base. This allows that functionality be reused and makes setting up this image simpler.
-
- 05 Oct, 2019 1 commit
-
-
Kevin Daudt authored
Because `set -u` is configured, the script will give an error when trying to use a variable that is not defined. Because the purpose this is meant to be an environment variable, we cannot just set it empty, because it would overwrite the value from the environment. Define `CI_DEBUB_BUILD` as empty when it's not defined.
-
- 04 Oct, 2019 1 commit
-
-
Kevin Daudt authored
Only when CI_DEBUG_BUILD is non-empty, verbose logging will be enabled.
-
- 28 Sep, 2019 2 commits
-
-
Kevin Daudt authored
To make it easer to find out what's going on, print the commit graph of the repo.
-
Kevin Daudt authored
Merge requests can consist of packages from different repositories. Some packages will depend on the packages that are just being built in a higher repository. The script currently only adds repos from the mirror, which will cause build issues. Add the local higher repositories to the repositories list.
-
- 22 Sep, 2019 3 commits
-
-
Kevin Daudt authored
A plain git diff will return changes both from the branch being merged, as the target branch. Because we are only interested in changes from the current branch, we need to do an asymmetric diff.
-
Kevin Daudt authored
To make it clear in the build logs what is being built, provide the list of changed aports that the build script is trying to build.
-
Kevin Daudt authored
The CI job for merge requests is run in the forked project, meaning that the target branch may be behind. This would result in more commits being checked than intended. Fetch the target branch from the upstream repository instead so that we know the target branch is up-to-date and we can reliably get a list of changed commits just for this merge request.
-
- 28 Aug, 2019 1 commit
-
-
Kevin Daudt authored
The basebranch might already exist. When trying to update the basebranch when it's not fast-forwardable, git will throw an error. Add a '+' to the fetch spec to tell git that it's allowed to force overwrite the current ref.
-
- 25 Aug, 2019 2 commits
-
-
Kevin Daudt authored
See merge request !3
-
Kevin Daudt authored
gitlab runs ci jobs with umask 0000 to prevent issues with file permissions. sudo refuses to look at configuration files in /etc/sudoers.d if it is world-writable. Fix these permissions so that sudo still works.
-
- 22 Aug, 2019 2 commits
-
-
Kevin Daudt authored
Convert to alpine-gitlab-ci See merge request !2
-
Kevin Daudt authored
-
- 14 May, 2019 1 commit
-
-
Carlo Landmeter authored
-