logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git

.build.yml (1701B)


  1. image: alpine/edge
  2. packages:
  3. - bison
  4. - curl
  5. - libarchive-tools
  6. - lua5.1
  7. - nasm
  8. - ninja
  9. - tzdata-utils
  10. - wayland-dev
  11. sources:
  12. - https://github.com/michaelforney/oasis
  13. secrets:
  14. - 0d338ffe-699f-4e82-85a0-3a4407172bed
  15. environment:
  16. GIT_SSH_COMMAND: ssh -o StrictHostKeyChecking=no
  17. SETS: core desktop devel extra media net
  18. tasks:
  19. - setup: |
  20. git config --global user.name oasis
  21. git config --global user.email oasis
  22. git clone --mirror --no-single-branch --depth 1 https://github.com/oasislinux/root-x86_64
  23. curl -LO http://musl.cc/x86_64-linux-musl-cross.tgz
  24. tar xzf x86_64-linux-musl-cross.tgz
  25. - build: |
  26. PATH=$HOME/x86_64-linux-musl-cross/bin:$HOME/bin:$PATH
  27. cd oasis
  28. cat >config.lua <<EOF
  29. return {
  30. builddir='out',
  31. fs=dofile 'fs.lua',
  32. target={platform='x86_64-linux-musl', cflags='-Os -fPIE -pipe', ldflags='-s -static-pie', mc='6m', pie=true},
  33. host={cflags='-pipe', ldflags=''},
  34. repo={path='$HOME/root-x86_64.git', flags='--bare', tag='tree', branch=os.getenv('SET')},
  35. }
  36. EOF
  37. # build everything
  38. echo 'return {exclude={}}' >fs.lua
  39. SET=all lua setup.lua
  40. ninja out/pkg/mc/bin/6m out/pkg/mc/bin/muse
  41. mkdir $HOME/bin
  42. cp out/pkg/mc/bin/6m out/pkg/mc/bin/muse $HOME/bin
  43. ninja
  44. # build individual sets
  45. cat >fs.lua <<EOF
  46. local sets = dofile 'sets.lua'
  47. local set = os.getenv('SET')
  48. local spec = {sets[set]}
  49. if set ~= 'devel' then
  50. spec.exclude = {'^include/', '^lib/.*%.a$'}
  51. end
  52. return {spec}
  53. EOF
  54. export SET
  55. for SET in $SETS ; do
  56. lua setup.lua
  57. ninja commit
  58. done
  59. - deploy: |
  60. git -C root-x86_64.git push git@github.com:oasislinux/root-x86_64 $SETS