Skip to content

Test JIMM

Test JIMM #28

Workflow file for this run

name: Integration Test
on:
pull_request:
jobs:
startjimm:
name: Test JIMM with Juju controller
runs-on: ubuntu-22.04
strategy:
matrix:
node-version: [20.x]
steps:
- name: Checkout Juju Dashboard repo
uses: actions/checkout@v4
- name: Checkout JIMM repo
uses: actions/checkout@v4
with:
repository: canonical/jimm
path: jimm
- name: Update dashboard paths
run: |
sed -i -e 's/JIMM_DASHBOARD_FINAL_REDIRECT_URL: "https:\/\/jaas.ai"/CORS_ALLOWED_ORIGINS: "http:\/\/127.0.0.1:8000"\n JIMM_DASHBOARD_LOCATION: "http:\/\/127.0.0.1:8000"\n JIMM_DASHBOARD_FINAL_REDIRECT_URL: "http:\/\/127.0.0.1:8000"/g' jimm/docker-compose.common.yaml
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version-file: 'jimm/go.mod'
- name: Go vendor to speed up docker build
run: cd jimm && go mod vendor
- name: Start JIMM (pull request)
uses: ./jimm/.github/actions/test-server
with:
jimm-version: dev
juju-channel: "3/stable"
ghcr-pat: ${{ secrets.GITHUB_TOKEN }}
- name: Create a model, deploy an application and run juju status
run: |
juju add-model foo && \
juju deploy haproxy && \
sleep 5 && \
juju status
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "yarn"
- name: Check JIMM hostname
run: curl https://jimm.localhost/debug/status
- name: Check JIMM localhost
run: curl http://localhost:17070/debug/status
- name: Check auth callback
run: curl https://jimm.localhost/auth/callback
- name: Check auth callback
run: curl https://jimm.localhost/auth/login
- name: Install
run: yarn install --immutable
- name: Build
run: yarn build
- name: Configure
run: sed -i -e 's/controllerAPIEndpoint\:\ \"\"/controllerAPIEndpoint:\ "ws:\/\/localhost:17070\/api"/g' build/config.js
- name: Install Playwright Browsers
run: yarn playwright install --with-deps
- name: Run Playwright tests
run: yarn playwright test
- uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: test-results
path: test-results/
retention-days: 1