[pre-commit.ci] pre-commit autoupdate #29
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
# Copyright The mirrorshades Contributors. | |
# SPDX-License-Identifier: Apache-2.0 | |
name: Test Mirrorshades | |
on: [push] | |
jobs: | |
test: | |
name: Run Tests | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ["3.8", "3.9", "3.10", "3.11"] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install mirrorshades for test | |
run: | | |
python -m pip install --upgrade pip | |
pip install .[test] | |
- name: Test with pytest | |
run: | | |
pytest | |
package: | |
name: Build Python Package | |
runs-on: ubuntu-latest | |
needs: test | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python 3.11 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.11 | |
- name: Build mirrorshades package | |
run: | | |
python -m pip install --upgrade pip | |
pip install wheel build | |
python3 -m build . | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: dist | |
path: dist | |
retention-days: 30 | |
docker-image: | |
name: Build Docker image | |
runs-on: ubuntu-latest | |
needs: test | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Extract metadata | |
id: meta | |
uses: docker/metadata-action@v4 | |
with: | |
images: ghcr.io/unnecessary-abstraction/mirrorshades | |
labels: | | |
org.opencontainers.image.title=mirrorshades | |
tags: | | |
type=schedule,pattern={{date 'YYYYMMDD'}} | |
type=raw,value=latest,enable={{is_default_branch}} | |
type=sha,format=long | |
- name: Login to GHCR | |
uses: docker/login-action@v2 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build and publish | |
uses: docker/build-push-action@v4 | |
with: | |
pull: true | |
push: true | |
tags: ${{ steps.meta.outputs.tags }} | |
labels: ${{ steps.meta.outputs.labels }} |