Canonical status UX, pagination, default table view (#129) #7
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build Frontend (Dev) | |
| # Trigger on push to main branch (development frontend) | |
| on: | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - frontend/** | |
| - .github/workflows/build-frontend-dev.yml | |
| workflow_dispatch: | |
| inputs: | |
| vite_api_base_url: | |
| description: 'VITE_API_BASE_URL for the build' | |
| required: false | |
| default: 'https://simboard-dev-api.e3sm.org' | |
| env: | |
| REGISTRY: registry.nersc.gov | |
| IMAGE_NAME: e3sm/simboard/frontend | |
| jobs: | |
| build-and-push: | |
| name: Build and Push Dev Frontend Image | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Log in to NERSC Container Registry | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ${{ env.REGISTRY }} | |
| username: ${{ secrets.NERSC_REGISTRY_USERNAME }} | |
| password: ${{ secrets.NERSC_REGISTRY_PASSWORD }} | |
| - name: Extract metadata (tags, labels) | |
| id: meta | |
| uses: docker/metadata-action@v5 | |
| with: | |
| images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | |
| tags: | | |
| type=raw,value=dev | |
| type=sha,prefix=sha-,format=short | |
| - name: Determine API URL | |
| id: api-url | |
| run: | | |
| if [ "${{ github.event_name }}" = "workflow_dispatch" ] && [ -n "${{ inputs.vite_api_base_url }}" ]; then | |
| echo "url=${{ inputs.vite_api_base_url }}" >> $GITHUB_OUTPUT | |
| else | |
| echo "url=https://simboard-dev-api.e3sm.org" >> $GITHUB_OUTPUT | |
| fi | |
| - name: Build and push Docker image | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: ./frontend | |
| file: ./frontend/Dockerfile | |
| platforms: linux/amd64 | |
| push: true | |
| tags: ${{ steps.meta.outputs.tags }} | |
| labels: ${{ steps.meta.outputs.labels }} | |
| build-args: | | |
| VITE_API_BASE_URL=${{ steps.api-url.outputs.url }} | |
| NODE_ENV=production | |
| cache-from: type=registry,ref=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:buildcache | |
| cache-to: type=registry,ref=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:buildcache,mode=max | |
| - name: Image Summary | |
| run: | | |
| echo "## Frontend Dev Image Built Successfully :rocket:" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "**Registry:** ${{ env.REGISTRY }}" >> $GITHUB_STEP_SUMMARY | |
| echo "**Image:** ${{ env.IMAGE_NAME }}" >> $GITHUB_STEP_SUMMARY | |
| echo "**Tags:**" >> $GITHUB_STEP_SUMMARY | |
| echo '```' >> $GITHUB_STEP_SUMMARY | |
| echo "${{ steps.meta.outputs.tags }}" >> $GITHUB_STEP_SUMMARY | |
| echo '```' >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "**API URL:** ${{ steps.api-url.outputs.url }}" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "This image is ready for deployment to **NERSC Spin (dev namespace)**" >> $GITHUB_STEP_SUMMARY |