name: generate-srcinfo concurrency: ci-${{ github.ref }} on: push: branches: - master workflow_dispatch: jobs: update-srcinfo: runs-on: windows-2022 if: ${{ github.repository == 'msys2/MINGW-packages' || github.event_name == 'workflow_dispatch' }} steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - uses: actions/setup-python@v4 id: setup-python with: python-version: '3.11' cache: 'pip' cache-dependency-path: .github/workflows/generate-srcinfo.yml - name: Install dependencies run: | pipx install --python '${{ steps.setup-python.outputs.python-path }}' git+https://github.com/msys2/msys2-devtools - uses: msys2/setup-msys2@v2 with: msystem: MSYS update: true - name: Download srcinfo.json.gz/pypi.json.gz and set up the environment shell: msys2 {0} run: | # makepkg requires strip in PATH even if it wont be used touch /usr/bin/strip.exe curl --fail -L --retry 5 -o srcinfo.json.gz "https://github.com/$GITHUB_REPOSITORY/releases/download/srcinfo-cache/srcinfo.json.gz" curl --fail -L --retry 5 -o pypi.json.gz "https://github.com/$GITHUB_REPOSITORY/releases/download/srcinfo-cache/pypi.json.gz" || true - name: Parse PKGBUILDs and update srcinfo.json.gz run: | $MSYS2_ROOT=(msys2 -c 'cygpath -w /') msys2-srcinfo-cache --time-limit 19800 mingw "$MSYS2_ROOT" . srcinfo.json.gz - name: Update the PyPI cache run: | msys2-pypi-cache srcinfo.json.gz pypi.json.gz - uses: actions/upload-artifact@v3 with: name: result path: | srcinfo.json.gz pypi.json.gz upload-srcinfo: needs: update-srcinfo runs-on: ubuntu-latest permissions: contents: write steps: - uses: actions/download-artifact@v3 with: name: result - name: Upload srcinfo.json.gz run: | gh release upload srcinfo-cache srcinfo.json.gz pypi.json.gz --clobber --repo "$GITHUB_REPOSITORY" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | curl -X POST 'https://packages.msys2.org/api/trigger_update'