diff options
author | Alexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com> | 2022-11-06 21:43:00 +0300 |
---|---|---|
committer | Alexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com> | 2022-11-06 21:43:00 +0300 |
commit | 06ef433e64f64738c2decdc2d5af181859eb544e (patch) | |
tree | 98edc9169f89e969a807cbb9120d32d2be4539d9 | |
parent | 4a1462256255fcae3f17cd6dd9fc715b567167b8 (diff) |
Pipeline, some minor changes
-rw-r--r-- | .github/workflows/build.yaml | 141 | ||||
-rw-r--r-- | .gitmodules | 3 | ||||
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | games/dummy | 0 |
4 files changed, 142 insertions, 4 deletions
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 0000000..c2f55a4 --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,141 @@ +name: Build + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + workflow_dispatch: + +jobs: + + build-linux: + runs-on: ubuntu-latest + env: + APP_NAME: coolgirl-multirom-builder + OUTPUT_DIR: output + TOOLS_DIR: output/tools + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Checkout submodules + run: git submodule update --init --recursive + - name: Setup .NET + uses: actions/setup-dotnet@v2 + with: + dotnet-version: 6.0.x + - name: Get ARM toolchain + run: sudo apt-get install gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu + - name: Copy main files + run: >- + mkdir -p ${{ OUTPUT_DIR }} \ + cp -fR *.asm Makefile LICENSE README.md configs spec demos games homebrew output + + - name: Build NesTiler for Linux-x64 + run: dotnet publish tools_sources/NesTiler/NesTiler -c Release -r linux-x64 --no-self-contained -o ${{ TOOLS_DIR }} + - name: Build nesasm for Linux-x64 + run: make -C tools_sources/nesasm/source EXEDIR=../../../${{ TOOLS_DIR }} + - name: Upload artifact for Linux-x64 + uses: actions/upload-artifact@v3 + with: + name: ${{ APP_NAME }}-linux-x64 + path: ${{ OUTPUT_DIR }} + + - name: Clean + run: >- + rm ${{ TOOLS_DIR }}/* + make -C tools_sources/nesasm/source clean + + - name: Build NesTiler for Linux-ARM32 + run: dotnet publish tools_sources/NesTiler/NesTiler -c Release -r linux-arm --no-self-contained -o ${{ TOOLS_DIR }} + - name: Build nesasm for Linux-ARM32 + run: make -C tools_sources/nesasm/source EXEDIR=../../../${{ TOOLS_DIR }} CC=arm-linux-gnueabihf-gcc + - name: Upload artifact for Linux-ARM32 + uses: actions/upload-artifact@v3 + with: + name: ${{ APP_NAME }}-linux-arm32 + path: ${{ OUTPUT_DIR }} + + - name: Clean + run: >- + rm ${{ TOOLS_DIR }}/* + make -C tools_sources/nesasm/source clean + + - name: Build NesTiler for Linux-ARM64 + run: dotnet publish tools_sources/NesTiler/NesTiler -c Release -r linux-arm64 --no-self-contained -o ${{ TOOLS_DIR }} + - name: Build nesasm for Linux-ARM64 + run: make -C tools_sources/nesasm/source EXEDIR=../../../${{ TOOLS_DIR }} CC=aarch64-linux-gnu-gcc + - name: Upload artifact for Linux-ARM64 + uses: actions/upload-artifact@v3 + with: + name: ${{ APP_NAME }}-linux-arm64 + path: ${{ OUTPUT_DIR }} + + build-macos: + APP_NAME: coolgirl-multirom-builder + env: + APP_NAME: coolgirl-combiner + OUTPUT_DIR: output + TOOLS_DIR: output/tools + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Checkout submodules + run: git submodule update --init --recursive + - name: Setup .NET + uses: actions/setup-dotnet@v2 + with: + dotnet-version: 6.0.x + - name: Install argp + run: brew install argp-standalone + - name: Copy main files + run: >- + mkdir -p ${{ OUTPUT_DIR }} \ + cp -fR *.asm Makefile LICENSE README.md configs spec demos games homebrew output + - name: Build NesTiler for MacOS-x64 + run: dotnet publish tools_sources/NesTiler/NesTiler -c Release -r mac-x64 --no-self-contained -o ${{ TOOLS_DIR }} + - name: Build nesasm for MacOS-x64 + run: make -C tools_sources/nesasm/source EXEDIR=../../../${{ TOOLS_DIR }} + - name: Upload artifact for MacOS-x64 + uses: actions/upload-artifact@v3 + with: + name: ${{ APP_NAME }}-macos-x64 + path: ${{ OUTPUT_DIR }} + + build-windows: + runs-on: windows-latest + env: + APP_NAME: coolgirl-multirom-builder + OUTPUT_DIR: output + TOOLS_DIR: output/tools + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Checkout submodules + run: git submodule update --init --recursive + - name: Setup .NET + uses: actions/setup-dotnet@v2 + with: + dotnet-version: 6.0.x + - name: Install msys + uses: msys2/setup-msys2@v2 + with: + update: true + install: >- + base-devel + gcc + git + libargp-devel + - name: Copy main files + run: >- + mkdir -p ${{ OUTPUT_DIR }} \ + cp -fR *.asm Makefile LICENSE README.md configs spec demos games homebrew output + - name: Build NesTiler for Win-x64 + run: dotnet publish tools_sources/NesTiler/NesTiler -c Release -r win-x64 --no-self-contained -o ${{ TOOLS_DIR }} + - name: Build nesasm for Win-x64 + run: make -C tools_sources/nesasm/source EXEDIR=../../../${{ TOOLS_DIR }} + - name: Upload artifact for Win-x64 + uses: actions/upload-artifact@v3 + with: + name: ${{ APP_NAME }}-win-x64 + path: ${{ OUTPUT_DIR }} diff --git a/.gitmodules b/.gitmodules index 9b9aab7..8f0aa27 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,3 @@ -[submodule "tools_sources/NesContainers"] - path = tools_sources/NesContainers - url = git@github.com:ClusterM/nes-containers.git [submodule "tools_sources/NesTiler"] path = tools_sources/NesTiler url = git@github.com:ClusterM/NesTiler.git @@ -167,7 +167,7 @@ $(BIN): $(SOURCES) $(HEADER_FILES) $(FOOTER_FILES) $(SYMBOL_FILES) $(SPRITE_FILE bin: $(BIN) clean: - rm -f stdout.txt *.nl *.lst *.bin *.txt games_*.asm menu_*.nes multirom_*.unf multirom_*.nes multirom_*.bin offsets_*.json + rm -f stdout.txt *.nl *.lst *.bin *.txt games_*.asm menu_*.nes multirom_*.unf multirom_*.nes multirom_*.bin offsets*.json run: $(NES20) $(EMU) $(NES20) diff --git a/games/dummy b/games/dummy new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/games/dummy |