Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

Raw File Download

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • content
content badge
swh:1:cnt:579d7152d3b0989e13a515ff8b1bdc659b9cdb9b

This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
Select below a type of object currently browsed in order to generate citations for them.

  • content
(requires biblatex-software package)
Generating citation ...
name: Test

on:
  push:
    branches: [ main ]
    paths-ignore:
      - 'docs/**'
      - '*.rst'
  pull_request:
    branches: [ main ]
    paths-ignore:
      - 'docs/**'
      - '*.rst'
  # Allow manual workflow triggering from the "Actions" tab.
  workflow_dispatch:

permissions:
  contents: read
  id-token: write

jobs:
  test:
    runs-on: ubuntu-latest

    services:
      postgres:
        image: postgres
        env:
          POSTGRES_PASSWORD: password
        options: >-
          --health-cmd pg_isready
          --health-interval 10s
          --health-timeout 5s
          --health-retries 5
        ports:
          # Make accessible on localhost.
          - 5432:5432

      redis:
        image: redis
        options: >-
          --health-cmd "redis-cli ping"
          --health-interval 10s
          --health-timeout 5s
          --health-retries 5
        ports:
          # Make accessible on localhost.
          - 6379:6379

    strategy:
      fail-fast: false
      matrix:
        python-version: ["3.13"]

    steps:
    - name: Check out repository
      uses: actions/checkout@v4
      with:
        persist-credentials: false

    - name: Install uv and Python
      uses: astral-sh/setup-uv@v7
      with:
        enable-cache: true
        cache-dependency-glob: "uv.lock"
        python-version: ${{ matrix.python-version }}

    - name: Install project
      run: uv sync --frozen --only-group test

    - name: Test with pytest and coverage
      env:
        POSTGRES_HOST: localhost
        POSTGRES_USER: postgres
        POSTGRES_PASSWORD: password
        POSTGRES_DB: postgres
        PYTEST_ADDOPTS: "--color=yes"
      run: |
        uv run coverage run --source=byceps -m pytest tests

    - name: Generate XML output from test coverage
      if: github.repository == 'byceps/byceps' && github.ref_name == 'main'
      run: |
        uv run coverage xml

    - name: Upload coverage to Qlty
      uses: qltysh/qlty-action/coverage@v1
      if: github.repository == 'byceps/byceps' && github.ref_name == 'main'
      with:
        oidc: true
        files: coverage.xml

    - name: Post result to Discord
      # Run job even if build is cancelled.
      if: always() && github.repository == 'byceps/byceps' && github.ref_name == 'main'
      env:
        JOB_RESULT: ${{ job.status }}
        DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
      run: uv run ./.github/workflows/send-workflow-result-to-discord.py --result $JOB_RESULT --webhook-url $DISCORD_WEBHOOK_URL

back to top

Software Heritage — Copyright (C) 2015–2026, The Software Heritage developers. License: GNU AGPLv3+.
The source code of Software Heritage itself is available on our development forge.
The source code files archived by Software Heritage are available under their own copyright and licenses.
Terms of use: Archive access, API— Content policy— Contact— JavaScript license information— Web API