Skip to content

[pre-commit.ci] pre-commit autoupdate #46

[pre-commit.ci] pre-commit autoupdate

[pre-commit.ci] pre-commit autoupdate #46

Workflow file for this run

# 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 }}