-
Notifications
You must be signed in to change notification settings - Fork 0
🔄 Synced file(s) with jhudsl/AnVIL_Template #10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
75ea090
015c22e
63a7552
d785d2e
5cda4a4
17c285d
babf882
b339feb
559175f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| #!/bin/bash | ||
|
|
||
| # Extract the title from the YAML front matter of index.Rmd | ||
| title=$(awk '/^title:/{gsub(/^title: /,""); print}' "index.Rmd" | grep -v '^$') | ||
|
|
||
| # Remove the outside quotation marks | ||
| title=$(sed -e 's/^"//' -e 's/"$//' <<< "$title") | ||
|
|
||
| # Replace spaces with '+' | ||
| title=${title// /+} | ||
|
|
||
| # Base url for the AnVIL Google Form | ||
| url_base="https://docs.google.com/forms/d/e/1FAIpQLScrDVb_utm55pmb_SHx-RgELTEbCCWdLea0T3IzS0Oj00GE4w/viewform?usp=pp_url&entry.1565230805=" | ||
|
|
||
| # Replace the url inside _output.yml | ||
| perl -i -pe 's|https://docs.google.com/forms/d/e/1FAIpQLScrDVb_utm55pmb_SHx-RgELTEbCCWdLea0T3IzS0Oj00GE4w/viewform\?usp=pp_url&entry\.1565230805=.*"> Click|'${url_base}${title}'"> Click|g' _output.yml | ||
|
|
||
| # Print for Github actions | ||
| echo "The feedback link is: ${url_base}${title}" |
| Original file line number | Diff line number | Diff line change | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,117 @@ | |||||||||||||||||||||||
| name: Periodic URL Check | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| on: | |||||||||||||||||||||||
| workflow_dispatch: | |||||||||||||||||||||||
| schedule: | |||||||||||||||||||||||
| - cron: '0 0 1 * *' | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| jobs: | |||||||||||||||||||||||
| set-up: | |||||||||||||||||||||||
| name: Load user automation choices | |||||||||||||||||||||||
| runs-on: ubuntu-latest | |||||||||||||||||||||||
| steps: | |||||||||||||||||||||||
| - name: Checkout | |||||||||||||||||||||||
| uses: actions/checkout@v3 | |||||||||||||||||||||||
| with: | |||||||||||||||||||||||
| fetch-depth: 0 | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| # Use the yaml-env-action action. | |||||||||||||||||||||||
| - name: Load environment from YAML | |||||||||||||||||||||||
| uses: doughepi/yaml-env-action@v1.0.0 | |||||||||||||||||||||||
| with: | |||||||||||||||||||||||
| files: config_automation.yml # Pass a space-separated list of configuration files. Rightmost files take precedence. | |||||||||||||||||||||||
| outputs: | |||||||||||||||||||||||
| toggle_url_check_periodically: "${{ env.URL_CHECK_PERIODICALLY }}" | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| url-check: | |||||||||||||||||||||||
| name: Check URLs | |||||||||||||||||||||||
| needs: set-up | |||||||||||||||||||||||
| if: ${{needs.set-up.outputs.toggle_url_check_periodically == 'yes'}} | |||||||||||||||||||||||
| runs-on: ubuntu-latest | |||||||||||||||||||||||
| container: | |||||||||||||||||||||||
| image: jhudsl/base_ottr:main | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| steps: | |||||||||||||||||||||||
| - name: Checkout | |||||||||||||||||||||||
| uses: actions/checkout@v3 | |||||||||||||||||||||||
| with: | |||||||||||||||||||||||
| fetch-depth: 0 | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| # Delete the branch if this has been run before | |||||||||||||||||||||||
| - name: Delete branch locally and remotely | |||||||||||||||||||||||
| run: git push origin --delete preview-spell-error || echo "No branch to delete" | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| # Make the branch fresh | |||||||||||||||||||||||
| - name: Make the branch fresh | |||||||||||||||||||||||
| run: | | |||||||||||||||||||||||
| git config --global --add safe.directory $GITHUB_WORKSPACE | |||||||||||||||||||||||
| git config --global user.name 'github-actions[bot]' | |||||||||||||||||||||||
| git config --global user.email 'github-actions[bot]@users.noreply.github.com' | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| echo branch doesnt exist | |||||||||||||||||||||||
| git checkout -b preview-spell-error || echo branch exists | |||||||||||||||||||||||
| git push --set-upstream origin preview-spell-error || echo echo branch exists remotely | |||||||||||||||||||||||
| shell: bash | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| - name: Run the check | |||||||||||||||||||||||
| uses: jhudsl/ottr-reports@main | |||||||||||||||||||||||
| id: check_results | |||||||||||||||||||||||
| continue-on-error: true | |||||||||||||||||||||||
| with: | |||||||||||||||||||||||
| check_type: urls | |||||||||||||||||||||||
| error_min: 1 | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| - name: Declare file path and time | |||||||||||||||||||||||
| id: check-report | |||||||||||||||||||||||
| run: | | |||||||||||||||||||||||
| error_num=$(cat check_reports/url_checks.tsv | wc -l) | |||||||||||||||||||||||
| error_num="$((error_num-1))" | |||||||||||||||||||||||
| echo "error_num=$error_num" >> $GITHUB_OUTPUT | |||||||||||||||||||||||
| echo "error_url=https://github.com/${GITHUB_REPOSITORY}/blob/preview-spell-error/check_reports/url_checks.tsv" >> $GITHUB_OUTPUT | |||||||||||||||||||||||
| shell: bash | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| - name: Stop if failure | |||||||||||||||||||||||
| if: steps.check_results.outcome == 'failure' | |||||||||||||||||||||||
| run: exit 1 | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| - name: Print out error variables | |||||||||||||||||||||||
| run: | | |||||||||||||||||||||||
| echo ${{ steps.check-report.outputs.error_url }} | |||||||||||||||||||||||
| echo ${{ steps.check-report.outputs.error_num }} | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| # Commit file | |||||||||||||||||||||||
| - name: Commit tocless bookdown files | |||||||||||||||||||||||
| if: ${{ steps.check-report.outputs.error_num >= 1 }} | |||||||||||||||||||||||
| env: | |||||||||||||||||||||||
| GH_PAT: ${{ secrets.GH_PAT }} | |||||||||||||||||||||||
| run: | | |||||||||||||||||||||||
| git add --force check_reports/url_checks.tsv | |||||||||||||||||||||||
| git commit -m 'Add spell check file' || echo "No changes to commit" | |||||||||||||||||||||||
| git push --set-upstream origin preview-spell-error || echo echo branch exists remotely | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| - name: Find issues | |||||||||||||||||||||||
| id: find-issue | |||||||||||||||||||||||
| env: | |||||||||||||||||||||||
| GH_PAT: ${{ secrets.GH_PAT }} | |||||||||||||||||||||||
| run: | | |||||||||||||||||||||||
| echo "$GITHUB_REPOSITORY" | |||||||||||||||||||||||
| curl -o find_issue.R https://raw.githubusercontent.com/jhudsl/ottr-reports/main/scripts/find_issue.R | |||||||||||||||||||||||
| issue_exists=$(Rscript --vanilla find_issue.R --repo $GITHUB_REPOSITORY --git_pat $GH_PAT) | |||||||||||||||||||||||
| echo URL issue exists: $issue_exists | |||||||||||||||||||||||
| echo "issue_existence=$issue_exists" >> $GITHUB_OUTPUT | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| - name: If too many URL errors, then make an issue | |||||||||||||||||||||||
| if: ${{ steps.check-report.outputs.error_num >= 1 && steps.find-issue.outputs.issue_existence == 0}} | |||||||||||||||||||||||
| uses: JasonEtco/create-an-issue@v2 | |||||||||||||||||||||||
| with: | |||||||||||||||||||||||
| filename: .github/ISSUE_TEMPLATE/url-error.md | |||||||||||||||||||||||
| env: | |||||||||||||||||||||||
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |||||||||||||||||||||||
| FILE_URL: ${{ steps.check-report.outputs.error_url }} | |||||||||||||||||||||||
| ERROR_NUM: ${{ steps.check-report.outputs.error_num }} | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| - name: If no URL errors than delete the branch we made | |||||||||||||||||||||||
| if: ${{ steps.check-report.outputs.error_num < 1 }} | |||||||||||||||||||||||
| run: | | |||||||||||||||||||||||
| git config --system --add safe.directory "$GITHUB_WORKSPACE" | |||||||||||||||||||||||
| git push origin --delete preview-spell-error || echo "No branch to delete" | |||||||||||||||||||||||
|
Comment on lines
+27
to
+117
Check warningCode scanning / CodeQL Workflow does not contain permissions Medium
Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
Copilot AutofixAI 8 months ago To fix the issue, we need to explicitly define the permissions for the
We will add a
Suggested changeset
1
.github/workflows/check-url.yml
Copilot is powered by AI and may make mistakes. Always verify output.
Refresh and try again.
|
|||||||||||||||||||||||
Check warning
Code scanning / CodeQL
Workflow does not contain permissions Medium
Copilot Autofix
AI 8 months ago
To fix the issue, we will add a
permissionsblock to the workflow. This block will specify the minimal permissions required for the workflow to function correctly. Based on the workflow's operations, the following permissions are needed:contents: writefor checking out code, creating branches, and pushing changes.actions: readfor interacting with GitHub Actions.The
permissionsblock will be added at the root level of the workflow to apply to all jobs. If any job requires additional or fewer permissions, a job-specificpermissionsblock can be added.