Skip to content

docs: add blog (#2748) #5513

docs: add blog (#2748)

docs: add blog (#2748) #5513

Workflow file for this run

name: Check
on:
push:
branches: [ master, renovate/** ]
pull_request:
branches: [ master ]
env:
YARN_IGNORE_NODE: 1
RETRY_TESTS: 1
jobs:
# `yarn install` is done in a separate job and cached to speed up the following jobs.
build_and_test:
name: Build & Test
if: (!contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.head_commit.message, 'docs:'))
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
# tests on windows are extremely unstable
# os: [ ubuntu-latest, windows-2019 ]
os: [ ubuntu-latest ]
node-version: [ 16, 18, 20, 22 ]
steps:
- name: Cancel Workflow Action
uses: styfle/cancel-workflow-action@0.12.1
with:
access_token: ${{ github.token }}
- name: Checkout repository
uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Enable corepack
run: |
corepack enable
corepack prepare yarn@stable --activate
- name: Activate cache for Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
cache: 'yarn'
- uses: microsoft/playwright-github-action@v1
- name: Turbo cache
id: turbo-cache
uses: actions/cache@v4
with:
path: .turbo
key: turbo-${{ github.job }}-${{ matrix.node-version }}-${{ github.ref_name }}-${{ github.sha }}
restore-keys: |
turbo-${{ github.job }}-${{ matrix.node-version }}-${{ github.ref_name }}-
- name: Install Dependencies
run: yarn
env:
YARN_IGNORE_NODE: 1
- name: Build
run: yarn ci:build
env:
YARN_IGNORE_NODE: 1
- name: Tests
run: yarn test
env:
YARN_IGNORE_NODE: 1
docs:
name: Docs build
if: (!contains(github.event.head_commit.message, '[skip ci]') && github.ref != 'refs/heads/master')
runs-on: ubuntu-latest
steps:
- name: Checkout Source code
uses: actions/checkout@v4
- name: Use Node.js 20
uses: actions/setup-node@v4
with:
node-version: 20
- name: Enable corepack
run: |
corepack enable
corepack prepare yarn@stable --activate
- name: Activate cache for Node.js 20
uses: actions/setup-node@v4
with:
cache: 'yarn'
- name: Turbo cache
id: turbo-cache
uses: actions/cache@v4
with:
path: .turbo
key: turbo-${{ github.job }}-${{ github.ref_name }}-${{ github.sha }}
restore-keys: |
turbo-${{ github.job }}-${{ github.ref_name }}-
- name: Install Dependencies
run: yarn
- name: Build & deploy docs
run: |
cd website
yarn
yarn build
env:
APIFY_SIGNING_TOKEN: ${{ secrets.APIFY_SIGNING_TOKEN }}
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Use Node.js 20
uses: actions/setup-node@v4
with:
node-version: 20
- name: Enable corepack
run: |
corepack enable
corepack prepare yarn@stable --activate
- name: Activate cache for Node.js 20
uses: actions/setup-node@v4
with:
cache: 'yarn'
- name: Turbo cache
id: turbo-cache
uses: actions/cache@v4
with:
path: .turbo
key: turbo-${{ github.job }}-${{ github.ref_name }}-${{ github.sha }}
restore-keys: |
turbo-${{ github.job }}-${{ github.ref_name }}-
- name: Install Dependencies
run: yarn
- name: ESLint
run: yarn lint
- name: Biome format
run: yarn format:check
release_next:
name: Release @next
if: github.event_name == 'push' && contains(github.event.ref, 'master') && (!contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.head_commit.message, 'docs:'))
needs: build_and_test
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Use Node.js 20
uses: actions/setup-node@v4
with:
node-version: 20
- name: Enable corepack
run: |
corepack enable
corepack prepare yarn@stable --activate
- name: Activate cache for Node.js 20
uses: actions/setup-node@v4
with:
cache: 'yarn'
- name: Turbo cache
id: turbo-cache
uses: actions/cache@v4
with:
path: .turbo
key: turbo-${{ github.job }}-${{ github.ref_name }}-${{ github.sha }}
restore-keys: |
turbo-${{ github.job }}-${{ github.ref_name }}-
- name: Install Dependencies
run: yarn
- name: Build
run: yarn ci:build
- name: Generate changed packages list
id: changed-packages
run: |
echo "changed_packages=$(node ./node_modules/.bin/lerna changed -p | wc -l | xargs)" >> $GITHUB_OUTPUT
- name: Report nothing to release
if: steps.changed-packages.outputs.changed_packages == '0'
run: echo "Nothing to release"
- name: Release @next
if: steps.changed-packages.outputs.changed_packages != '0'
run: |
git config --global user.name 'Apify Release Bot'
git config --global user.email 'noreply@apify.com'
yarn turbo copy --force -- --canary --preid=beta
git commit -am "chore: bump canary versions [skip ci]"
echo "access=public" > .npmrc
echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" >> .npmrc
yarn publish:next --yes --no-verify-access
env:
NPM_TOKEN: ${{ secrets.APIFY_SERVICE_ACCOUNT_NPM_TOKEN }}
GIT_USER: 'noreply@apify.com:${{ secrets.APIFY_SERVICE_ACCOUNT_GITHUB_TOKEN }}'
GH_TOKEN: ${{ secrets.APIFY_SERVICE_ACCOUNT_GITHUB_TOKEN }}
- name: Collect versions for Docker images
id: versions
run: |
crawlee=`node -p "require('./packages/crawlee/package.json').version"`
echo "crawlee=$crawlee" >> $GITHUB_OUTPUT
- name: Trigger Docker image builds
uses: peter-evans/repository-dispatch@v3
# Trigger next images only if we have something new pushed
if: steps.changed-packages.outputs.changed_packages != '0'
with:
token: ${{ secrets.APIFY_SERVICE_ACCOUNT_GITHUB_TOKEN }}
repository: apify/crawlee
event-type: crawlee-docker-image-bump
client-payload: >
{
"crawlee_version": "${{ steps.versions.outputs.crawlee }}"
}