1. 17 Jun, 2021 1 commit
    • Kevin Daudt's avatar
      build.sh: allow overriding package mirror · 3cf124a7
      Kevin Daudt authored
      For riscv64, we temporarily need to be able to use a custom mirror. The
      mirror is already a variable, but make sure we can override it with an
      environment variable.
      3cf124a7
  2. 14 Jun, 2021 3 commits
    • Kevin Daudt's avatar
      tests: fix occasional hangs during test runs · 129272b5
      Kevin Daudt authored
      `abuild-keygen -i` uses `cp -i` to copy the public key to prevent it
      from being unexpectedly being overwritten. This either causes the test
      to hang, because it waits for stdin, or to fail, when no stdin is
      available, which happened occasionally.
      
      Patch abuild-keygen to ommit '-i' to prevent this issue.
      129272b5
    • Kevin Daudt's avatar
      build: capture stderr as well · 565be83e
      Kevin Daudt authored
      With the change of pipestatus to pipefail, we forgot to capture stderr
      as well, which was captured with pipestatus.
      565be83e
    • Kevin Daudt's avatar
      build: use pipefail · 5d90b52e
      Kevin Daudt authored
      Even though POSIX sh does not have pipefail, busybox ash does have it.
      This lets us remove the pipestatus library, which, even though it works,
      causes flaky behavior in our test-suite in CI.
      5d90b52e
  3. 19 May, 2021 1 commit
    • Kevin Daudt's avatar
      build: restrict JOBS adjustment · 99cdded8
      Kevin Daudt authored
      The search pattern was pretty lax, resulting in unintended changes. New
      settings have been added to abuild.conf that were mangled:
      
      > export CARGO_BUILD_JOBS=$JOBS
      
      became
      
      > export CARGO_BUILD_JOBS=$(nproc)$JOBS
      
      This in turn results in CI jobs for rust packages timing out on
      dowloading crates.
      
      Fix this by being more strict in what is matched.
      
      Fixes alpine/infra/infra#10721
      99cdded8
  4. 07 Mar, 2021 1 commit
  5. 27 Feb, 2021 6 commits
  6. 26 Feb, 2021 1 commit
  7. 22 Feb, 2021 1 commit
  8. 21 Feb, 2021 1 commit
    • Kevin Daudt's avatar
      merge: limit the size of uploaded packages · 5686ce18
      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.
      5686ce18
  9. 20 Feb, 2021 3 commits
    • Kevin Daudt's avatar
      build: copy packages after build · c11f3f45
      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.
      c11f3f45
    • Kevin Daudt's avatar
      ci: add test suite to verify functionality · aa67ec05
      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.
      aa67ec05
    • Kevin Daudt's avatar
      build: allow override of REPODEST · 7a65c4ee
      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`.
      7a65c4ee
  10. 10 Feb, 2020 2 commits
  11. 09 Feb, 2020 2 commits
    • Kevin Daudt's avatar
      build.sh: limit log output when debugging · 76b0b88b
      Kevin Daudt authored
      76b0b88b
    • Kevin Daudt's avatar
      build.sh: fix overzealous shellcheck warnings · 2c81ce0b
      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.
      2c81ce0b
  12. 04 Feb, 2020 2 commits
  13. 03 Feb, 2020 6 commits
  14. 29 Dec, 2019 1 commit
  15. 11 Dec, 2019 1 commit
    • Kevin Daudt's avatar
      image: refactor to use build-base · dd46ac61
      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.
      dd46ac61
  16. 05 Oct, 2019 1 commit
    • Kevin Daudt's avatar
      build.sh: define CI_DEBUG_BUILD · 39d47a84
      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.
      39d47a84
  17. 04 Oct, 2019 1 commit
  18. 28 Sep, 2019 2 commits
    • Kevin Daudt's avatar
      build.sh: show commit graph · 669d6223
      Kevin Daudt authored
      To make it easer to find out what's going on, print the commit graph of
      the repo.
      669d6223
    • Kevin Daudt's avatar
      build.sh: use local upstream repos · c5664f35
      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.
      c5664f35
  19. 22 Sep, 2019 3 commits
    • Kevin Daudt's avatar
      build: use asymmetric diff to calculate changed aports · cf92e5f9
      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.
      cf92e5f9
    • Kevin Daudt's avatar
      build: show the list of changed aports · be003121
      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.
      be003121
    • Kevin Daudt's avatar
      build: fetch master from the upstream repo · 5da34890
      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.
      5da34890
  20. 28 Aug, 2019 1 commit
    • Kevin Daudt's avatar
      build.sh: force overwrite basebranch · 2b1aef6e
      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.
      2b1aef6e