name: Build Dusk on: push: tags: - '*' branches: - gitea-actions jobs: run-tests: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Install dependencies run: | sudo apt-get update sudo apt-get install -y \ build-essential \ cmake \ python3 \ python3-pip \ python3-polib \ python3-pil \ libsdl2-dev \ libgl1-mesa-dev \ libzip-dev \ python3-dotenv \ python3-pyqt5 \ python3-opengl \ xz-utils \ liblzma-dev \ libbz2-dev \ zlib1g-dev \ libbz2-dev \ git \ libssl-dev - name: Run tests run: ./scripts/test-linux.sh build-linux: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Install dependencies run: | sudo apt-get update sudo apt-get install -y \ build-essential \ cmake \ python3 \ python3-pip \ python3-polib \ python3-pil \ libsdl2-dev \ libgl1-mesa-dev \ libzip-dev \ python3-dotenv \ python3-pyqt5 \ python3-opengl \ xz-utils \ liblzma-dev \ libbz2-dev \ zlib1g-dev \ libbz2-dev \ git \ libssl-dev - name: Build Linux run: ./scripts/build-linux.sh - name: Upload Linux binary uses: actions/upload-artifact@v3 with: name: dusk-linux path: build-linux/Dusk if-no-files-found: error build-psp: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Install dependencies run: | sudo apt-get update sudo apt-get install -y \ cmake \ python3 \ python3-pip \ python3-dotenv - name: Install pspdev toolchain run: | wget -q \ https://github.com/pspdev/pspdev/releases/latest/download/pspdev-ubuntu-latest-x86_64.tar.gz \ -O /tmp/pspdev.tar.gz sudo tar -xzf /tmp/pspdev.tar.gz -C /usr/local echo "PSPDEV=/usr/local/pspdev" >> $GITHUB_ENV echo "/usr/local/pspdev/bin" >> $GITHUB_PATH - name: Build PSP run: ./scripts/build-psp.sh - name: Move EBOOT.PBP to Dusk subfolder run: | mkdir -p ./git-artifcats/Dusk/PSP/GAME/Dusk cp build-psp/EBOOT.PBP ./git-artifcats/Dusk/PSP/GAME/Dusk/EBOOT.PBP - name: Upload psp binary uses: actions/upload-artifact@v3 with: name: dusk-psp path: ./git-artifcats/Dusk if-no-files-found: error # build-vita: # runs-on: ubuntu-latest # steps: # - name: Checkout repository # uses: actions/checkout@v4 # - name: Set up Docker # uses: docker/setup-docker-action@v5 # - name: Build Vita # run: ./scripts/build-vita-docker.sh # - name: Upload Vita binary # uses: actions/upload-artifact@v3 # with: # name: dusk-vita # path: build-vita/Dusk.vpk # if-no-files-found: error build-knulli: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up Docker uses: docker/setup-docker-action@v5 - name: Build knulli run: ./scripts/build-knulli-docker.sh - name: Move output to Dusk subfolder run: | mkdir -p ./git-artifcats/Dusk cp -r build-knulli/dusk ./git-artifcats/Dusk - name: Upload knulli binary uses: actions/upload-artifact@v3 with: name: dusk-knulli path: ./git-artifcats/Dusk if-no-files-found: error build-gamecube: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up Docker uses: docker/setup-docker-action@v5 - name: Build GameCube run: ./scripts/build-gamecube-docker.sh - name: Copy output files. run: | mkdir -p ./git-artifcats/Dusk cp build-gamecube/Dusk.dol ./git-artifcats/Dusk/Dusk.dol cp build-gamecube/dusk.dsk ./git-artifcats/Dusk/dusk.dsk - name: Upload GameCube binary uses: actions/upload-artifact@v3 with: name: dusk-gamecube path: ./git-artifcats/Dusk if-no-files-found: error build-gamecube-iso: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up Docker uses: docker/setup-docker-action@v5 - name: Build GameCube ISO run: ./scripts/build-gamecube-iso-docker.sh - name: Copy output files. run: | mkdir -p ./git-artifcats/Dusk cp build-gamecube-iso/Dusk-NTSC-J.iso ./git-artifcats/Dusk/Dusk-NTSC-J.iso cp build-gamecube-iso/Dusk-NTSC-U.iso ./git-artifcats/Dusk/Dusk-NTSC-U.iso cp build-gamecube-iso/Dusk-PAL.iso ./git-artifcats/Dusk/Dusk-PAL.iso - name: Upload GameCube ISO uses: actions/upload-artifact@v3 with: name: dusk-gamecube-iso path: ./git-artifcats/Dusk if-no-files-found: error build-wii: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up Docker uses: docker/setup-docker-action@v5 - name: Build Wii run: ./scripts/build-wii-docker.sh - name: Copy output files. run: | mkdir -p ./git-artifcats/Dusk/apps/Dusk cp build-wii/boot.dol ./git-artifcats/Dusk/apps/Dusk/boot.dol cp build-wii/dusk.dsk ./git-artifcats/Dusk/apps/Dusk/dusk.dsk cp build-wii/meta.xml ./git-artifcats/Dusk/apps/Dusk/meta.xml - name: Upload Wii binary uses: actions/upload-artifact@v3 with: name: dusk-wii path: ./git-artifcats/Dusk if-no-files-found: error build-wii-iso: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up Docker uses: docker/setup-docker-action@v5 - name: Build Wii ISO run: ./scripts/build-wii-iso-docker.sh - name: Copy output files. run: | mkdir -p ./git-artifcats/Dusk cp build-wii-iso/Dusk-NTSC-J.iso ./git-artifcats/Dusk/Dusk-NTSC-J.iso cp build-wii-iso/Dusk-NTSC-U.iso ./git-artifcats/Dusk/Dusk-NTSC-U.iso cp build-wii-iso/Dusk-PAL.iso ./git-artifcats/Dusk/Dusk-PAL.iso - name: Upload Wii ISO uses: actions/upload-artifact@v3 with: name: dusk-wii-iso path: ./git-artifcats/Dusk if-no-files-found: error