diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..3eb8eee --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,48 @@ +name: Build and Upload + +on: + push: + paths-ignore: + - 'README.md' + workflow_dispatch: + +jobs: + build: + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macOS-latest, windows-latest] + configuration: [Release] + include: + - os: ubuntu-latest + COMMAND: AM2RModPacker -p:PublishSingleFile=true -p:DebugType=embedded -r ubuntu.18.04-x64 --no-self-contained -o builds/ubuntu-latest -p:BuildPlatform=Gtk + ARTIFACT: builds/ubuntu-latest + - os: macOS-latest + COMMAND: AM2RModPacker -r osx-x64 --no-self-contained -o builds/macOS-latest + ARTIFACT: builds/macOS-latest + - os: windows-latest + COMMAND: AM2RModPacker -p:PublishSingleFile=true -r win-x86 --no-self-contained -o builds/windows-latest + ARTIFACT: builds/windows-latest + runs-on: ${{ matrix.os }} + + + steps: + - uses: actions/checkout@v2 + - name: Setup .NET + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 6.0.x + - name: Restore dependencies + run: dotnet restore + - name: Build + run: dotnet publish ${{ matrix.COMMAND }} -c "${{ matrix.configuration }}" + - name: Post-Build + run: cp ./LICENSE ./${{ matrix.ARTIFACT }}/ + # Steps for uploading artifacts. + - name: Zip to Archive + run: 7z a -tzip ${{ matrix.os }}.zip ./${{ matrix.ARTIFACT }} + - name: Upload Artifacts + uses: actions/upload-artifact@v1.0.0 + with: + name: ${{ matrix.os }} + path: ${{ matrix.os }}.zip