Skip to content
Closed
55 changes: 55 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: CI

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

permissions:
contents: read

jobs:
smoke-test:
name: Smoke Tests
runs-on: ubuntu-24.04

steps:
- name: Checkout code
uses: actions/checkout@v5

- name: Run software installer in Docker
run: |
docker run --rm --privileged \
-v $PWD:/workspace -w /workspace \
-v /var/run/docker.sock:/var/run/docker.sock \
ubuntu:24.04 \
bash -c "apt-get update && apt-get install -y sudo docker.io && \
useradd -m -s /bin/bash testuser && \
usermod -aG sudo testuser && \
usermod -aG docker testuser && \
echo 'testuser ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && \
chown -R testuser:testuser /workspace && \
su - testuser -c 'cd /workspace && ./src/installer/install.sh'"

- name: Run software upgrade in Docker
run: |
docker run --rm --privileged \
-v $PWD:/workspace -w /workspace \
-v /var/run/docker.sock:/var/run/docker.sock \
ubuntu:24.04 \
bash -c "apt-get update && apt-get install -y sudo docker.io && \
useradd -m -s /bin/bash testuser && \
usermod -aG sudo testuser && \
usermod -aG docker testuser && \
echo 'testuser ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers && \
chown -R testuser:testuser /workspace && \
su - testuser -c 'cd /workspace && ./src/installer/upgrade.sh'"

- name: Run dotfiles installer in Docker
run: |
docker run --rm -v $PWD:/workspace -w /workspace \
ubuntu:24.04 \
bash -c "useradd -m -s /bin/bash testuser && \
chown -R testuser:testuser /workspace && \
su - testuser -c 'cd /workspace && ./src/dotfiles/install.sh'"
Loading