diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..612a5f6 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,35 @@ +name: Build and Release + +on: + workflow_dispatch: + inputs: + release_tag: + description: 'Release Tag (e.g. v1.0.0)' + required: true + type: string + +jobs: + build-and-release: + runs-on: ubuntu-latest + # Required permission to create a Github Release + permissions: + contents: write + + steps: + - uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.11' + + - name: Build AutoSave Extension + run: python build_oxt.py + + - name: Create Github Release + uses: softprops/action-gh-release@v2 + with: + tag_name: ${{ github.event.inputs.release_tag }} + name: Release ${{ github.event.inputs.release_tag }} + files: dist/AutoSave.oxt + generate_release_notes: true diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..6421fd0 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,29 @@ +name: Unit Tests + +on: + pull_request: + branches: [ "main", "master" ] + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.11' + + - name: Install Poetry + uses: snok/install-poetry@v1 + with: + version: latest + virtualenvs-create: true + virtualenvs-in-project: true + + - name: Install dependencies + run: poetry install + + - name: Run Pytest + run: poetry run pytest