diff --git a/.github/workflows/create-puzzle-issue.yml b/.github/workflows/create-puzzle-issue.yml new file mode 100644 index 0000000..434aca4 --- /dev/null +++ b/.github/workflows/create-puzzle-issue.yml @@ -0,0 +1,40 @@ +name: Create Puzzle Issue + +on: + workflow_call: + inputs: + year: + required: true + type: number + description: "The year of the puzzle" + day: + required: true + type: number + description: "The day of the puzzle" + part: + required: true + type: number + description: "The part of the puzzle (1 or 2)" + +permissions: + issues: write + +jobs: + create-issue: + runs-on: ubuntu-latest + env: + GH_TOKEN: ${{ secrets.USER_TOKEN }} + steps: + - name: Create puzzle issue + id: create-issue + run: | + ISSUE_URL=$(gh issue create \ + --title "Advent of code - ${{ inputs.year }} day ${{ inputs.day }} part ${{ inputs.part }}" \ + --body "Write solution in \`puzzles/year_${{ inputs.year }}/day_${{ inputs.day }}/solution.py\`, and write tests in \`puzzles/year_${{ inputs.year }}/day_${{ inputs.day }}/test_solution.py\` using relative imports") + echo "issue_url=${ISSUE_URL}" >> $GITHUB_OUTPUT + + - name: Add sourcery comment + run: | + gh issue comment "${ISSUE_URL}" --body "@sourcery-ai develop - you can read the puzzle statement with \`uv run advent_of_code.py read ${{ inputs.year }} ${{ inputs.day }} ${{ inputs.part }}\`. Run the solution on \`puzzles/year_${{ inputs.year }}/day_${{ inputs.day }}/input.txt\` and write answer to \`puzzles/year_${{ inputs.year }}/day_${{ inputs.day }}/answer_part${{ inputs.part }}.txt\`" + env: + ISSUE_URL: ${{ steps.create-issue.outputs.issue_url }}