diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 0000000..869ce66 --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,53 @@ +name: Build + +on: + push: + tags: + - "[0-9]+.[0-9]+.[0-9]+*" + pull_request: + +jobs: + build: + permissions: + contents: write + + runs-on: ${{ matrix.os }} + strategy: + matrix: + python-version: [3.9] + os: [ubuntu-latest, macos-10.15, windows-latest] + + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python3 -m pip install --upgrade pip setuptools_scm wheel + python3 -m pip install -r requirements.txt + - name: Install Windows dependencies + run: | + choco install -y zip + if: runner.os == 'Windows' + - name: build + run: | + make dist + # TODO: Add a step to comment on a pull request with links to the artifacts + - name: Archive production artifacts + uses: actions/upload-artifact@v2 + if: "runner.os != 'linux'" # linux currently has a segfault when running on latest fedora + with: + name: "${{ format('ComicTagger-{0}', runner.os) }}" + path: dist/*.zip + + - name: Release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + prerelease: "${{ contains(github.ref, '-') }}" # alpha-releases should be 1.3.0-alpha.x full releases should be 1.3.0 + draft: true + files: dist/*.zip diff --git a/requirements.txt b/requirements.txt index 7d315b6..b7d1d2e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,4 +6,4 @@ PyPDF2==1.24 pillow>=4.3.0 PyQt5>=5.12.2 pyinstaller==4.3 -unrar-cffi==0.1.0a5 +unrar-cffi==0.2.2