name: Inkycal testing on: push: branches: - main jobs: clone-setup-install: name: Clone, Setup, and Install runs-on: ubuntu-latest steps: - name: Checkout Repository uses: actions/checkout@v3 with: ref: main - name: Set up Python 3.9 uses: actions/setup-python@v4 with: python-version: 3.9 - name: Install Dependencies run: | python3 -m venv venv source venv/bin/activate python -m pip install --upgrade pip pip install wheel pip install -e . cd .. - name: Create Archive run: | mkdir artefacts tar -czf artefacts/workspace.tar.gz --exclude=./artefacts . - name: Save Workspace Archive uses: actions/upload-artifact@v2 with: name: workspace path: workspace.tar.gz test: name: Run Tests needs: clone-setup-install runs-on: ubuntu-latest steps: - name: Restore Workspace uses: actions/download-artifact@v2 with: name: workspace - name: Extract Workspace Archive run: | tar -xzf workspace.tar.gz - name: Run Tests env: OPENWEATHERMAP_API_KEY: ${{ secrets.OPENWEATHERMAP_API_KEY }} SAMPLE_ICAL_URL: ${{ secrets.SAMPLE_ICAL_URL }} TEST_ICAL_URL: ${{ secrets.TEST_ICAL_URL }} TODOIST_API_KEY: ${{ secrets.TODOIST_API_KEY }} run: | source venv/bin/activate cd inkycal/tests wget https://raw.githubusercontent.com/aceinnolab/Inkycal/assets/tests/settings.json for f in *.py; do python3 "$f"; done generate-docs: name: Generate Docs needs: clone-setup-install runs-on: ubuntu-latest steps: - name: Restore Workspace uses: actions/download-artifact@v2 with: name: workspace - name: Extract Workspace Archive run: | tar -xzf workspace.tar.gz - name: Generate Docs run: | source venv/bin/activate cd Inkycal/docsource make html publish-docs: name: Publish Docs needs: generate-docs runs-on: ubuntu-latest steps: - name: Restore Workspace uses: actions/download-artifact@v2 with: name: workspace - name: Extract Workspace Archive run: | tar -xzf workspace.tar.gz - name: Publish Docs run: | source venv/bin/activate cp -R Inkycal/docsource/_build/html/. docs/ git config --global user.name 'GitHub Actions' git config --global user.email 'actions@github.com' git add docs git commit -m "Update documentation" git push --force --quiet