Add shortcut for /new #244
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build | |
on: | |
push: | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.10' | |
- name: Install Pipenv | |
run: pip install pipenv | |
- name: Install dependencies | |
run: pipenv install --dev | |
- name: Run tests | |
run: pipenv run pytest --cov-report=xml --cov=src | |
- name: Upload coverage reports to Codecov | |
uses: codecov/codecov-action@v3 | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.10' | |
- name: Install Pipenv | |
run: pip install pipenv | |
- name: Install dependencies | |
run: pipenv install --dev | |
- name: Run Black | |
run: pipenv run black --check . | |
- name: Run Flake8 | |
run: pipenv run flake8 | |
- name: Run isort | |
run: pipenv run isort --check-only . | |
release: | |
if: startsWith(github.ref, 'refs/tags/v') | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Create GitHub Release | |
uses: ncipollo/release-action@v1 | |
publish: | |
if: startsWith(github.ref, 'refs/tags/v') | |
needs: release | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Login to GHCR | |
run: echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Build Docker image | |
run: docker build -t ghcr.io/${{ github.repository }}:${{ github.ref_name }} . | |
- name: Tag image as latest | |
run: docker tag ghcr.io/${{ github.repository }}:${{ github.ref_name }} ghcr.io/${{ github.repository }}:latest | |
- name: Push versioned tag to GHCR | |
run: docker push ghcr.io/${{ github.repository }}:${{ github.ref_name }} | |
- name: Push latest tag to GHCR | |
run: docker push ghcr.io/${{ github.repository }}:latest |