diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 8df9cd7..d40a60b 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -10,7 +10,6 @@ jobs: install-dependencies: name: Installing Dependencies runs-on: ubuntu-latest - container: ghcr.io/gravity-sim/deps:latest steps: - uses: actions/checkout@v4 - name: Cache build artifacts @@ -21,14 +20,15 @@ jobs: tests/*.o key: ${{ runner.os }}-build-${{ hashFiles('**/*.c') }} restore-keys: ${{ runner.os }}-build- - - name: Setup complete - run: echo "Dependencies are pre-installed in the container" + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y build-essential libgl1-mesa-dev libglew-dev libglfw3-dev libopenmpi-dev build: name: Build runs-on: ubuntu-latest needs: install-dependencies - container: ghcr.io/gravity-sim/deps:latest steps: - uses: actions/checkout@v4 - name: Restore build cache @@ -46,7 +46,6 @@ jobs: name: Test runs-on: ubuntu-latest needs: build - container: ghcr.io/gravity-sim/deps:latest steps: - uses: actions/checkout@v4 - name: Restore build cache @@ -59,22 +58,11 @@ jobs: restore-keys: ${{ runner.os }}-build- - name: Test run: make test - make: name: Make runs-on: ubuntu-latest needs: test - container: ghcr.io/gravity-sim/deps:latest steps: - - uses: actions/checkout@v4 - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y build-essential libgl1-mesa-dev libglew-dev libglfw3-dev libopenmpi-dev - - name: Build - run: make - - name: Test - run: make test - uses: actions/checkout@v4 - name: Restore build cache uses: actions/cache@v3 diff --git a/README.md b/README.md index 5370b9c..1b87ed1 100644 --- a/README.md +++ b/README.md @@ -77,11 +77,10 @@ To set up and compile the project on your local machine, follow these steps: ## Continuous Integration -This project uses a GitHub Actions workflow that runs inside a prebuilt Docker -container containing all required OpenGL dependencies. The workflow consists of -four sequential jobs: **Installing Dependencies**, **Build**, **Test**, and -**Make**. Compiled object files are cached between jobs to speed up subsequent -steps. +This project uses a GitHub Actions workflow with four sequential jobs: +**Installing Dependencies**, **Build**, **Test**, and **Make**. Each job +installs the required packages with `apt-get`, and compiled object files are +cached between jobs to speed up subsequent runs. ## Usage