diff --git a/.github/workflows/sitespeed.yml b/.github/workflows/sitespeed.yml index a20b0a02ef..b5d673be95 100644 --- a/.github/workflows/sitespeed.yml +++ b/.github/workflows/sitespeed.yml @@ -8,28 +8,19 @@ jobs: run-sitespeed: name: Run sitespeed.io runs-on: ubuntu-22.04 + strategy: + fail-fast: false env: MAAS_DOMAIN: localhost + MAAS_URL: http://localhost:5240 steps: - uses: actions/checkout@main - - name: Install MAAS - run: | - sudo systemctl enable snapd - sudo snap install maas-test-db --channel=latest/edge - sudo snap install maas --channel=latest/edge - - name: Fetch database dump - uses: wei/wget@v1 + - name: Setup MAAS + uses: canonical/setup-maas@main with: - args: -O maasdb.dump https://github.com/canonical/maas-ui-testing/raw/main/db/maasdb-22.04-master-1000.dump - - name: Set up MAAS with database dump - run: | - sudo sed -i "s/dynamic_shared_memory_type = posix/dynamic_shared_memory_type = sysv/" /var/snap/maas-test-db/common/postgres/data/postgresql.conf - sudo snap restart maas-test-db - sudo mv maasdb.dump /var/snap/maas-test-db/common/maasdb.dump - sudo snap run --shell maas-test-db.psql -c 'db-dump restore /var/snap/maas-test-db/common/maasdb.dump maassampledata' - sudo maas init region+rack --maas-url=http://${{env.MAAS_DOMAIN}}:5240/MAAS --database-uri maas-test-db:/// - sudo sed -i "s/database_name: maasdb/database_name: maassampledata/" /var/snap/maas/current/regiond.conf - sudo snap restart maas + maas-url: ${{ env.MAAS_URL }}/MAAS + use-maasdb-dump: true + maasdb-dump-url: https://github.com/canonical/maas-ui-testing/raw/main/db/maasdb-22.04-master-1000.dump - name: Create MAAS admin run: sudo maas createadmin --username=admin --password=test --email=fake@example.org - name: Wait for MAAS @@ -39,6 +30,15 @@ jobs: responseCode: 200 timeout: 200000 interval: 500 + - name: Login MAAS admin + run: | + for i in {1..5}; do + export API_KEY=`sudo maas apikey --username=admin` + maas login admin http://localhost:5240/MAAS $API_KEY && break || sleep 10 + done + - name: Wait for MAAS boot resources + shell: bash + run: while [ $(maas admin boot-resources is-importing | cat) == "true" ]; do sleep 10; done; echo "syncing finished" - name: Run sitespeed.io tests run: yarn sitespeed:ci --browsertime.domain=${{env.MAAS_DOMAIN}} - name: Upload results diff --git a/sitespeed.io/login.js b/sitespeed.io/login.js index 484edaab48..73b81c47d9 100644 --- a/sitespeed.io/login.js +++ b/sitespeed.io/login.js @@ -13,7 +13,7 @@ module.exports = async function (context, commands) { name: "skipintro", value: "true", }); - await commands.navigate(constructURL(context, "/network-discovery")); + await commands.navigate(constructURL(context, "/")); await commands.wait.bySelector("input[name='username']", TIMEOUT); await commands.addText.byName("admin", "username"); await commands.addText.byName("test", "password"); diff --git a/sitespeed.io/scripts/machines.js b/sitespeed.io/scripts/machines.js index 29d3aca806..0c9aff8a91 100644 --- a/sitespeed.io/scripts/machines.js +++ b/sitespeed.io/scripts/machines.js @@ -5,7 +5,7 @@ const TIMEOUT = 120000; const waitForMachines = async (context, commands, pageSize = 50) => { context.log.info("waiting for machine list count"); await commands.wait.byCondition( - `document.querySelector('[data-testid="section-header-title"]').textContent.includes("1000 machines")`, + `document.querySelector('[data-testid="main-toolbar-heading"]').textContent.includes("1000 machines")`, TIMEOUT ); context.log.info(`waiting for ${pageSize} machine list rows`);