diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml new file mode 100644 index 0000000..f1db54a --- /dev/null +++ b/.github/workflows/continuous-integration.yml @@ -0,0 +1,89 @@ +name: CI + +# Controls when the workflow will run +on: + # Triggers the workflow on push or pull request events but only for the "main" branch + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v3 + + # Download KickAss + - name: Download KickAss + run: | + curl http://theweb.dk/KickAssembler/KickAssembler.zip -H 'User-Agent: Hi There' --output KickAssembler.zip + unzip KickAssembler.zip + + # Build ROMs + - name: Patch standalone 1541 ROM + run: java -jar KickAss.jar rampatch.asm -showmem -define ROM1541II + + - name: Patch SpeedDOS 2.7 Plus (35 tracks) C64 Kernal and 1541 ROM + run: java -jar KickAss.jar rampatch.asm -showmem -define ROMSPEEDDOS35 + + - name: Patch SpeedDOS 2.7 Plus+ (40 tracks) C64 Kernal and 1541 ROM + run: java -jar KickAss.jar rampatch.asm -showmem -define ROMSPEEDDOS40 + + # Upload artifacts + - name: Archive patched 1541 ROM + uses: actions/upload-artifact@v3 + with: + name: dos1541ii-251968-03-patched.bin + path: dos1541ii-251968-03-patched.bin + + - name: Archive patched SpeedDOS 2.7 Plus 1541 ROM + uses: actions/upload-artifact@v3 + with: + name: 1541-II-SpeedDOS-35-patched.bin + path: 1541-II-SpeedDOS-35-patched.bin + + - name: Archive patched SpeedDOS 2.7 Plus C64 Kernal ROM + uses: actions/upload-artifact@v3 + with: + name: C64-SpeedDOS-Plus-35-patched.bin + path: C64-SpeedDOS-Plus-patched.bin + + - name: Archive patched SpeedDOS 2.7 Plus+ 1541 ROM + uses: actions/upload-artifact@v3 + with: + name: 1541-II-SpeedDOS-40-patched.bin + path: 1541-II-SpeedDOS-40-patched.bin + + - name: Archive patched SpeedDOS 2.7 Plus+ C64 Kernal ROM + uses: actions/upload-artifact@v3 + with: + name: C64-SpeedDOS-Plus-40-patched.bin + path: C64-SpeedDOS-Plus+-patched.bin + + - name: Archive unmodified DolphinDOS 2 C64 Kernal ROM + uses: actions/upload-artifact@v3 + with: + name: DolphinDOS2-Kernal-C64.rom + path: rom/DolphinDOS2-Kernal-C64.rom + + - name: Archive unmodified DolphinDOS 2 C128 Kernal ROM + uses: actions/upload-artifact@v3 + with: + name: DolphinDOS2-Kernal-C128.rom + path: rom/DolphinDOS2-Kernal-C128.rom + + - name: Archive unmodified DolphinDOS 2 1541 ROM + uses: actions/upload-artifact@v3 + with: + name: DolphinDOS2-1541-II.bin + path: rom/DolphinDOS2-1541-II.bin