ports/openjdk17: Add port #1621
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Container | |
on: [push, pull_request, workflow_dispatch] | |
jobs: | |
build-rootfs: | |
name: Build cbuildrt rootfs | |
runs-on: ubuntu-24.04 | |
container: fedora:40 | |
steps: | |
- name: Install prerequisites | |
run: | | |
dnf -y install dnf-plugins-core wget docker skopeo rsync openssl stunnel | |
dnf -y copr enable ganto/umoci | |
dnf -y install umoci | |
- name: Install rsync-ssl | |
run: | | |
wget https://raw.githubusercontent.com/WayneD/rsync/c3f7414c450faaf6a8281cc4a4403529aeb7d859/rsync-ssl | |
sudo install -D rsync-ssl /usr/local/bin/rsync-ssl | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Build container | |
run: | | |
docker build -t managarm-buildenv docker/ | |
- name: Build OCI runtime bundle | |
run: | | |
set -x | |
skopeo copy docker-daemon:managarm-buildenv:latest oci:buildenv-image:latest | |
umoci unpack --rootless --image buildenv-image:latest buildenv-bundle/ | |
rm -rf buildenv-image/ | |
- name: Finalize cbuildrt rootfs | |
run: | | |
set -x | |
# Perform some post-processing. | |
mkdir buildenv-bundle/rootfs/dev/pts | |
mkdir buildenv-bundle/rootfs/dev/shm | |
ln -s /proc/self/fd/0 buildenv-bundle/rootfs/dev/stdin | |
ln -s /proc/self/fd/1 buildenv-bundle/rootfs/dev/stdout | |
ln -s /proc/self/fd/2 buildenv-bundle/rootfs/dev/stderr | |
ln -s /proc/self/fd buildenv-bundle/rootfs/dev/fd | |
touch buildenv-bundle/rootfs/dev/{full,null,zero} | |
touch buildenv-bundle/rootfs/dev/tty | |
touch buildenv-bundle/rootfs/dev/{random,urandom} | |
# Make directories for bind mounts. | |
mkdir -p buildenv-bundle/rootfs/var/lib/managarm-buildenv/{src,build} | |
# Pack the resulting rootfs. | |
tar -czf managarm-buildenv.tar.gz -C buildenv-bundle/ rootfs | |
- name: Upload rootfs to mirrors.managarm.org | |
if: github.repository_owner == 'managarm' && github.ref == 'refs/heads/master' | |
env: | |
RSYNC_PASSWORD: ${{ secrets.RSYNC_CBUILDRT_ROOTFS_PASSWD }} | |
run: | | |
sha256sum managarm-buildenv.tar.gz > managarm-buildenv.sum | |
rsync-ssl -a --delete managarm-buildenv.{sum,tar.gz} [email protected]::wbuildenv/ |