From bdc473221d3c2d3374c67217479521b155917b23 Mon Sep 17 00:00:00 2001 From: 3eef8a28f26fb2bcc514e6f1938929a1f931762 <116031952+3eef8a28f26fb2bcc514e6f1938929a1f931762@users.noreply.github.com> Date: Tue, 7 Feb 2023 10:17:57 -0500 Subject: [PATCH] Create main.yml --- .github/workflows/main.yml | 52 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..017030e --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,52 @@ +name: Update data +on: + workflow_dispatch: + schedule: + - cron: '0 * * * *' + +jobs: + scrape-data: + runs-on: ubuntu-latest + steps: + - name: Checkout scraping repo + uses: actions/checkout@v3 + + - name: Clone QuACS data + uses: actions/checkout@v3 + with: + repository: quacs/quacs-data + path: quacs-data + + - name: Clone Quatalog data + uses: actions/checkout@v3 + with: + repository: quatalog/quatalog-data + path: quatalog-data + + - name: Run scraper + run: | + # Usage: CourseOfferingsScraper + ./bin/CourseOfferingScraper \ + ./quacs-data/semester_data \ + ./quatalog-data/terms_offered.json \ + ./quatalog-data/prerequisites.json \ + ./quatalog-data/terms_list.json + + - name: Copy `catalog.json` from QuACS data + run: | + CURRENT_TERM="$(grep terms_list.json -e 'current_term' | cut -f4 -d '"')" + cp "./quacs-data/semester_data/$CURRENT_TERM/catalog.json" ./quatalog-data/catalog.json + + - name: Push new data + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + cd ./quatalog-data + git config user.name "Quatalog Updater" + git config user.email "github_actions@quatalog.com" + git config --unset-all http.https://github.com/.extraheader + git add terms_offered.json prerequisites.json terms_list.json catalog.json + git commit -m "$(date)" || exit 0 + git push + +