From dcd41b7585c4d948a3d4ca43286f1376454a3d7f Mon Sep 17 00:00:00 2001 From: Robin Jones Date: Sun, 28 May 2023 19:56:38 +0100 Subject: [PATCH] Improve CI (#2) * Run against devcontainer docker file. * remove submodule update * Update SC64 deployer version --- .devcontainer/Dockerfile | 6 ++-- .devcontainer/devcontainer.json | 2 +- .github/workflows/build.yml | 60 +++++++++++++++++++-------------- 3 files changed, 39 insertions(+), 29 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index e36eb74b..e1ce623e 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -6,8 +6,8 @@ RUN apt-get update && \ wget https://github.com/DragonMinded/libdragon/releases/download/toolchain-continuous-prerelease/gcc-toolchain-mips64-x86_64.deb && \ dpkg -i gcc-toolchain-mips64-x86_64.deb && \ rm gcc-toolchain-mips64-x86_64.deb && \ - wget https://github.com/Polprzewodnikowy/SummerCart64/releases/download/v2.14.0/sc64-deployer-linux-v2.14.0.tar.gz && \ - tar -xf sc64-deployer-linux-v2.14.0.tar.gz -C /usr/local/bin && \ - rm sc64-deployer-linux-v2.14.0.tar.gz && \ + wget https://github.com/Polprzewodnikowy/SummerCart64/releases/download/v2.15.1/sc64-deployer-linux-v2.15.1.tar.gz && \ + tar -xf sc64-deployer-linux-v2.15.1.tar.gz -C /usr/local/bin && \ + rm sc64-deployer-linux-v2.15.1.tar.gz && \ SNIPPET="export PROMPT_COMMAND='history -a' && export HISTFILE=/commandhistory/.bash_history" && \ echo "$SNIPPET" >> "/root/.bashrc" diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 4c6e9987..662f43a4 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -6,7 +6,7 @@ "mounts": [ "source=n64flashcartmenu-bashhistory,target=/commandhistory,type=volume" ], - "postCreateCommand": "git submodule update && cd ./libdragon && ./build.sh", + "postCreateCommand": "cd ./libdragon && ./build.sh", "customizations": { "vscode": { "extensions": [ diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index afe43ec9..4c87f60e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,42 +11,52 @@ on: jobs: build: runs-on: ubuntu-latest - container: - image: ghcr.io/n64-tools/gcc-toolchain-mips64:latest # we use an unofficial container for the moment as git-submodules dont work in the official one! - credentials: - username: ${{ github.actor }} - password: ${{ secrets.github_token }} - volumes: - - my_docker_volume:/volume_mount + # container: + # image: ../Dockerfile + # # credentials: + # # username: ${{ github.actor }} + # # password: ${{ secrets.github_token }} + # volumes: + # - my_docker_volume:/volume_mount steps: - - name: Check for dockerenv file - run: (ls /.dockerenv && echo Found dockerenv) || (echo No dockerenv) + # - name: Check for dockerenv file + # run: (ls /.dockerenv && echo Found dockerenv) || (echo No dockerenv) - uses: actions/checkout@v3 with: submodules: true fetch-depth: 1 # we only require the last check-in, unless we want to create a changelog. - - name: Build libdragon - run: | - cd ./libdragon - # FIXME: this currently also builds the examples which adds to the build time. - # ./build.sh - # WORKAROUND: for CI - make -j libdragon - make install - make -j tools - make tools-install - make install-mk + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + + # - name: Build libdragon + # run: | + # cd ./libdragon + # # FIXME: this currently also builds the examples which adds to the build time. + # # ./build.sh + # # WORKAROUND: for CI + # make -j libdragon + # make install + # make -j tools + # make tools-install + # make install-mk - name: Build N64FlashcartMenu ROM - run: | - mkdir build - mkdir output - # TODO: split this to use params for each flashcart type. - make + uses: devcontainers/ci@v0.3 + with: + push: never + runCmd: | + mkdir build + mkdir output + # TODO: split this to use params for each flashcart type. + make - name: Upload artifact uses: actions/upload-artifact@v3