- Replace boot.mgr's static unit list with generated dangling_units.inc - Generate Pascal LSTs and run the dangling-unit recipe before compilation - Exclude Wasuro, inactive architectures, and NOT_DANGLING units - Add ASURO_ARCH selection with an x86 default - Mark unfinished legacy units as NOT_DANGLING - Inherit pinned Moderne tooling in the builder image - Ensure Drone pulls the latest builder image - Document the updated build pipeline in MkDocs Validation: - Full x86 ISO build and VirtualBox boot succeeded - 1,133 kernel tests passed with no failures - x86_64 build failed clearly due to unavailable sources
98 lines
3.0 KiB
YAML
98 lines
3.0 KiB
YAML
kind: pipeline
|
|
type: docker
|
|
name: build
|
|
|
|
steps:
|
|
- name: build-image
|
|
image: plugins/docker
|
|
settings:
|
|
repo: t3hn3rd/asuro-build
|
|
tags: latest
|
|
dockerfile: Dockerfile
|
|
registry: docker.io
|
|
username:
|
|
from_secret: docker_username
|
|
password:
|
|
from_secret: docker_password
|
|
|
|
- name: compile
|
|
image: t3hn3rd/asuro-build:latest
|
|
pull: always
|
|
depends_on:
|
|
- build-image
|
|
commands:
|
|
- git fetch --tags
|
|
- find . -type f -print0 | xargs -0 dos2unix
|
|
- chmod +x /drone/src/toolchain/*.sh
|
|
- /drone/src/toolchain/compile.sh
|
|
|
|
- name: deploy-docs
|
|
image: alpine:latest
|
|
depends_on:
|
|
- compile
|
|
when:
|
|
branch:
|
|
- master
|
|
- develop
|
|
- feature/mkdocs
|
|
volumes:
|
|
- name: docs-htdocs
|
|
path: /htdocs
|
|
commands:
|
|
- apk add --no-cache rsync
|
|
- |
|
|
if [ "${DRONE_BRANCH}" = "master" ]; then
|
|
DEST="/htdocs/master"
|
|
else
|
|
DEST="/htdocs/develop"
|
|
fi
|
|
- mkdir -p "$DEST"
|
|
- rsync -a --delete site/ "$DEST/"
|
|
- echo "Documentation deployed to ${DRONE_BRANCH}"
|
|
|
|
- name: upload-iso-artifact
|
|
image: alpine/git
|
|
depends_on:
|
|
- compile
|
|
when:
|
|
branch:
|
|
- master
|
|
environment:
|
|
GITEA_TOKEN:
|
|
from_secret: gitea_token
|
|
commands:
|
|
- apk add --no-cache curl
|
|
- chmod +w Asuro.iso
|
|
- cp Asuro.iso "Asuro-$(git rev-parse --short HEAD).iso"
|
|
- echo "Uploading Asuro-$(git rev-parse --short HEAD).iso to Gitea Packages..."
|
|
- |
|
|
curl -X PUT "https://gitea.spexeah.com/api/packages/Spexeah/generic/asuro-iso/$(git rev-parse --short HEAD)/Asuro.iso" \
|
|
-H "Authorization: token $GITEA_TOKEN" --upload-file "Asuro-$(git rev-parse --short HEAD).iso"
|
|
- echo "Updating latest ISO reference..."
|
|
- |
|
|
curl -X DELETE https://gitea.spexeah.com/api/packages/Spexeah/generic/asuro-iso/latest/Asuro.iso \
|
|
-H "Authorization: token $GITEA_TOKEN" || echo "No previous latest version found."
|
|
- |
|
|
curl -X PUT https://gitea.spexeah.com/api/packages/Spexeah/generic/asuro-iso/latest/Asuro.iso \
|
|
-H "Authorization: token $GITEA_TOKEN" --upload-file "Asuro-$(git rev-parse --short HEAD).iso"
|
|
|
|
- name: msg status
|
|
image: appleboy/drone-discord
|
|
failure: ignore
|
|
depends_on:
|
|
- compile
|
|
when:
|
|
status: [success, failure, changed]
|
|
settings:
|
|
webhook_id:
|
|
from_secret: discord_webhook_id
|
|
webhook_token:
|
|
from_secret: discord_webhook_secret
|
|
message: "**Asuro Build**\n\n{{#success build.status}}✅ Build successful!\n\n{{else}}❌ Build failed!\n\n{{/success}}Repository: `{{repo.namespace}}/{{repo.name}}`\nBranch: `{{commit.branch}}`\nCommit: `{{commit.sha}}`\nAuthor: `{{commit.author}} <{{commit.email}}>`\n\nGitea Diff: [Link](<{{commit.link}}>)\nDrone Build: [Link](<{{build.link}}>)\n\nMessage: {{commit.message}}"
|
|
|
|
volumes:
|
|
- name: docs-htdocs
|
|
host:
|
|
path: /mnt/user/htdocs/asuro_docs
|
|
|