name: 'Cycle Check' on: schedule: - cron: '0 18 * * *' jobs: cycles: runs-on: ubuntu-latest permissions: issues: write container: image: 'ghcr.io/void-linux/xbps-src-masterdir:20230111RC01-x86_64-musl' env: PATH: '/usr/libexec/chroot-git:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin:/usr/local/bin:/tmp/bin' steps: - name: Prepare container run: | # switch to repo-ci mirror mkdir -p /etc/xbps.d && cp /usr/share/xbps.d/*-repository-*.conf /etc/xbps.d/ sed -i 's|repo-default|repo-ci|g' /etc/xbps.d/*-repository-*.conf # Sync and upgrade once, assume error comes from xbps update xbps-install -Syu || xbps-install -yu xbps # Upgrade again (in case there was a xbps update) xbps-install -yu # Install script dependencies xbps-install -y python3-networkx github-cli - name: Clone and checkout run: | REMOTE_REF=$(echo ${{ github.ref }} | sed 's;refs/;refs/remotes/;') /bin/echo -e '::group::\x1b[32mCloning repository...\x1b[0m' git clone --progress --no-checkout --filter=tree:0 \ "${{ github.server_url }}/${{ github.repository }}" "$PWD" git config --global --add gc.auto 0 git config --global --add safe.directory "$PWD" echo "::endgroup::" /bin/echo -e '::group::\x1b[32mFetching repository refs...\x1b[0m' git fetch --prune --progress --filter=tree:0 origin \ +refs/heads/*:refs/remotes/origin/* \ +${{ github.ref }}:"${REMOTE_REF}" echo "::endgroup::" /bin/echo -e '::group::\x1b[32mChecking out repository...\x1b[0m' git checkout --progress --force "${REMOTE_REF}" echo "::endgroup::" - name: Create hostrepo and prepare masterdir run: | ln -s "$(pwd)" /hostrepo && common/travis/set_mirror.sh && common/travis/prepare.sh - name: Find cycles and open issues run: | common/scripts/xbps-cycles.py | tee cycles grep 'Cycle:' cycles | while read -r line; do if gh issue list -R "$GITHUB_REPOSITORY" -S "$line" | grep .; then printf "Issue on '%s' already exists.\n" "$line" else gh issue create -R "$GITHUB_REPOSITORY" -b '' -t "$line" fi done env: GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN }}