diff --git a/.github/workflows/release-generic-actors.yaml b/.github/workflows/release-generic-actors.yaml new file mode 100644 index 0000000000..1ef7f6409c --- /dev/null +++ b/.github/workflows/release-generic-actors.yaml @@ -0,0 +1,128 @@ +name: Build generic Actors +description: Build generic Actors and push them to Apify + +on: + workflow_dispatch: + inputs: + web-scraper: + description: apify/web-scraper + type: boolean + required: false + default: true + cheerio-scraper: + description: apify/cheerio-scraper + type: boolean + required: false + default: true + playwright-scraper: + description: apify/playwright-scraper + type: boolean + required: false + default: true + puppeteer-scraper: + description: apify/puppeteer-scraper + type: boolean + required: false + default: true + jsdom-scraper: + description: apify/jsdom-scraper + type: boolean + required: false + default: true + camoufox-scraper: + description: apify/camoufox-scraper + type: boolean + required: false + default: true + build-channel: + description: Build channel + type: choice + required: true + options: + - stable + - development + - custom + default: stable + version: + description: Custom version (only for custom build channel) + type: string + required: false + build-tag: + description: Custom build tag (only for custom build channel) + type: string + required: false + +jobs: + push-to-apify: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + settings: + - actor: web-scraper + stable-version: 3.0 + stable-build-tag: version-3 + development-version: 0.0 + development-build-tag: development + should-build: ${{ github.event.inputs.web-scraper }} + - actor: cheerio-scraper + stable-version: 3.0 + stable-build-tag: version-3 + development-version: 0.0 + development-build-tag: development + should-build: ${{ github.event.inputs.cheerio-scraper }} + - actor: playwright-scraper + stable-version: 1.0 + stable-build-tag: version-1 + development-version: 0.0 + development-build-tag: development + should-build: ${{ github.event.inputs.playwright-scraper }} + - actor: puppeteer-scraper + stable-version: 3.0 + stable-build-tag: version-3 + development-version: 0.0 + development-build-tag: development + should-build: ${{ github.event.inputs.puppeteer-scraper }} + - actor: jsdom-scraper + stable-version: 0.1 + stable-build-tag: latest + development-version: 0.0 + development-build-tag: development + should-build: ${{ github.event.inputs.jsdom-scraper }} + - actor: camoufox-scraper + stable-version: 3.0 + stable-build-tag: version-3 + development-version: 0.0 + development-build-tag: development + should-build: ${{ github.event.inputs.camoufox-scraper }} + steps: + - uses: actions/checkout@v4 + + - name: Log matrix + run: | + echo "Actor: ${{ matrix.settings.actor }}" + echo "Should build: ${{ matrix.settings.should-build }}" + + - name: Calculate versions and tags + id: calculate-versions + if: matrix.settings.should-build == 'true' + run: | + if [ "${{ github.event.inputs.build-channel }}" = "stable" ]; then + echo "version=${{ matrix.settings.stable-version }}\n" >> $GITHUB_ENV + echo "build-tag=${{ matrix.settings.stable-build-tag }}\n" >> $GITHUB_ENV + elif [ "${{ github.event.inputs.build-channel }}" = "development" ]; then + echo "version=${{ matrix.settings.development-version }}\n" >> $GITHUB_ENV + echo "build-tag=${{ matrix.settings.development-build-tag }}\n" >> $GITHUB_ENV + else + echo "version=${{ github.event.inputs.version }}\n" >> $GITHUB_ENV + echo "build-tag=${{ github.event.inputs.build-tag }}\n" >> $GITHUB_ENV + fi + + - name: Build ${{ matrix.settings.actor }} + uses: apify/push-actor-action@master + if: matrix.settings.should-build == 'true' + with: + token: ${{ secrets.APIFY_ACTOR_BUILD_TOKEN }} + build-tag: ${{ steps.calculate-versions.outputs.build-tag }} + version: ${{ steps.calculate-versions.outputs.version }} + working-directory: packages/actor-scraper/${{ matrix.settings.actor }} diff --git a/packages/actor-scraper/cheerio-scraper/apify.json b/packages/actor-scraper/cheerio-scraper/.actor/actor.json similarity index 51% rename from packages/actor-scraper/cheerio-scraper/apify.json rename to packages/actor-scraper/cheerio-scraper/.actor/actor.json index 344a876981..1de98d889e 100644 --- a/packages/actor-scraper/cheerio-scraper/apify.json +++ b/packages/actor-scraper/cheerio-scraper/.actor/actor.json @@ -1,6 +1,6 @@ { + "actorSpecification": 1, "name": "cheerio-scraper", "version": "0.1", - "buildTag": "latest", - "env": null + "buildTag": "latest" } diff --git a/packages/actor-scraper/jsdom-scraper/apify.json b/packages/actor-scraper/jsdom-scraper/.actor/actor.json similarity index 50% rename from packages/actor-scraper/jsdom-scraper/apify.json rename to packages/actor-scraper/jsdom-scraper/.actor/actor.json index 8490d5ef3c..1b03c1939f 100644 --- a/packages/actor-scraper/jsdom-scraper/apify.json +++ b/packages/actor-scraper/jsdom-scraper/.actor/actor.json @@ -1,6 +1,6 @@ { + "actorSpecification": 1, "name": "jsdom-scraper", "version": "0.1", - "buildTag": "latest", - "env": null + "buildTag": "latest" } diff --git a/packages/actor-scraper/playwright-scraper/apify.json b/packages/actor-scraper/playwright-scraper/.actor/actor.json similarity index 52% rename from packages/actor-scraper/playwright-scraper/apify.json rename to packages/actor-scraper/playwright-scraper/.actor/actor.json index b0fbccafa7..2835946dad 100644 --- a/packages/actor-scraper/playwright-scraper/apify.json +++ b/packages/actor-scraper/playwright-scraper/.actor/actor.json @@ -1,6 +1,6 @@ { + "actorSpecification": 1, "name": "playwright-scraper", "version": "0.1", - "buildTag": "latest", - "env": null + "buildTag": "latest" } diff --git a/packages/actor-scraper/puppeteer-scraper/apify.json b/packages/actor-scraper/puppeteer-scraper/.actor/actor.json similarity index 52% rename from packages/actor-scraper/puppeteer-scraper/apify.json rename to packages/actor-scraper/puppeteer-scraper/.actor/actor.json index ea8c5ee438..5ab3eb5ae1 100644 --- a/packages/actor-scraper/puppeteer-scraper/apify.json +++ b/packages/actor-scraper/puppeteer-scraper/.actor/actor.json @@ -1,6 +1,6 @@ { + "actorSpecification": 1, "name": "puppeteer-scraper", "version": "0.1", - "buildTag": "latest", - "env": null + "buildTag": "latest" } diff --git a/packages/actor-scraper/web-scraper/.actor/actor.json b/packages/actor-scraper/web-scraper/.actor/actor.json new file mode 100644 index 0000000000..529480ab93 --- /dev/null +++ b/packages/actor-scraper/web-scraper/.actor/actor.json @@ -0,0 +1,6 @@ +{ + "actorSpecification": 1, + "name": "web-scraper", + "version": "0.1", + "buildTag": "latest" +} diff --git a/packages/actor-scraper/web-scraper/apify.json b/packages/actor-scraper/web-scraper/apify.json deleted file mode 100644 index dea3ee8502..0000000000 --- a/packages/actor-scraper/web-scraper/apify.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "web-scraper", - "version": "0.1", - "buildTag": "latest", - "env": null -}