diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:59:18 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:59:18 +0000 |
commit | fa60720fe95711a68dd4f1cb57fbc79fc6fc2e5c (patch) | |
tree | a8712923a49e76a6241f151af877900e056ce65d /.github/workflows/asciinema.yml | |
parent | Initial commit. (diff) | |
download | asciinema-upstream/2.4.0.tar.xz asciinema-upstream/2.4.0.zip |
Adding upstream version 2.4.0.upstream/2.4.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '.github/workflows/asciinema.yml')
-rw-r--r-- | .github/workflows/asciinema.yml | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/.github/workflows/asciinema.yml b/.github/workflows/asciinema.yml new file mode 100644 index 0000000..4eb5355 --- /dev/null +++ b/.github/workflows/asciinema.yml @@ -0,0 +1,108 @@ +--- +name: build +on: + - push + - pull_request +jobs: + # Code style checks + health: + name: code health check + runs-on: ubuntu-latest + steps: + - name: checkout asciinema + uses: actions/checkout@v4 + - name: setup Python + uses: actions/setup-python@v4 + with: + python-version: "3.10" + - name: install dependencies + run: pip install build cmarkgfm pycodestyle twine + - name: Run pycodestyle + run: > + find . + -name '*\.py' + -exec pycodestyle --ignore=E402,E501,E722,W503 "{}" \+ + - name: Run twine + run: | + python3 -m build + twine check dist/* + # Asciinema checks + asciinema: + name: Asciinema + runs-on: ubuntu-latest + strategy: + matrix: + python: + - "3.7" + - "3.8" + - "3.9" + - "3.10" + - "3.11" + env: + TERM: dumb + steps: + - name: checkout Asciinema + uses: actions/checkout@v4 + - name: setup Python + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python }} + - name: install dependencies + run: pip install pytest + - name: run Asciinema tests + run: script -e -c make test + build_distros: + name: build distro images + strategy: + matrix: + distros: + - alpine + - arch + - debian + - fedora + - ubuntu + runs-on: ubuntu-latest + steps: + - name: Set up Docker buildx + id: buildx + uses: docker/setup-buildx-action@v3 + - name: Authenticate to GHCR + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: "${{ github.actor }}" + password: "${{ secrets.GITHUB_TOKEN }}" + - name: "Build ${{ matrix.distros }} image" + uses: docker/build-push-action@v5 + with: + file: "tests/distros/Dockerfile.${{ matrix.distros }}" + tags: | + "ghcr.io/${{ github.repository }}:${{ matrix.distros }}" + push: true + test_distros: + name: integration test distro images + needs: build_distros + strategy: + matrix: + distros: + - alpine + - arch + - debian + - fedora + - ubuntu + runs-on: ubuntu-latest + container: + image: "ghcr.io/${{ github.repository }}:${{ matrix.distros }}" + credentials: + username: "${{ github.actor }}" + password: "${{ secrets.GITHUB_TOKEN }}" + # https://github.community/t/permission-problems-when-checking-out-code-as-part-of-github-action/202263 + options: "--interactive --tty --user=1001:121" + steps: + - name: checkout Asciinema + uses: actions/checkout@v4 + - name: run integration tests + env: + TERM: dumb + shell: 'script --return --quiet --command "bash {0}"' + run: make test.integration |