name: Build Documentation and Lint Code on: push: branches: - 'main' pull_request: jobs: build and lint: runs-on: docker container: catthehacker/ubuntu:act-latest steps: - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - name: Install apt packages run: | apt-get update apt-get install -y \ libcairo2-dev \ libfreetype6-dev \ libffi-dev \ libjpeg-dev \ libpng-dev \ libz-dev \ pngquant - name: Setup Node uses: actions/setup-node@v1 with: node-version: "12" - name: Setup Python uses: actions/setup-python@v4 with: python-version: "3.11" - name: Install Poetry run: curl -sSL https://cdn.seaswimmer.cc/go/poetry | python3.11 - - name: Install dependencies run: | export PATH="$HOME/.local/bin:$PATH" poetry config virtualenvs.create false poetry install --with docs --with dev --no-root - name: Build the documentation run: | export PATH="$HOME/.local/bin:$PATH" mkdocs build - name: Deploy the documentation to Meli (CoastalCommits Pages) run: | npx -p "@getmeli/cli" meli upload ./site \ --url "http://pages.coastalcommits.com" \ --site "${{ variables.MELI_SITE }}" \ --token "${{ secrets.MELI_SITE_SECRET }}" \ --release "$GITEA_SHA" env: GITEA_TOKEN: ${{ secrets.COASTALCOMMITSTOKEN }} continue-on-error: true - name: Analysing the code with Pylint run: | export PATH="$HOME/.local/bin:$PATH" poetry run pylint --rcfile .forgejo/workflows/config/.pylintrc $(git ls-files '*.py')