Module
x/udibo_react_app/.github/workflows/deploy.yml
A React Framework for Deno that makes it easy to create highly interactive apps that have server side rendering with file based routing for both your UI and API.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859name: Deployon: workflow_call: inputs: working-directory: required: false type: string default: './' app-directory: required: false type: string project: required: true type: stringjobs: variables: name: Get variables runs-on: ubuntu-latest outputs: DENO_DIR: ${{ steps.deno_dir.outputs.DENO_DIR }} steps: - id: deno_dir name: Get cache directory run: | echo "DENO_DIR=${{ runner.temp }}/deno_dir" >> $GITHUB_OUTPUT deploy: name: Deploy needs: [variables] runs-on: ubuntu-latest permissions: id-token: write contents: read env: APP_ENV: production DENO_DIR: ${{ needs.variables.outputs.DENO_DIR }} steps: - name: Clone repository uses: actions/checkout@v3.3.0 - name: Setup deno uses: denoland/setup-deno@main with: deno-version: v1.x - name: Cache Deno dependencies uses: actions/cache@v3.2.3 with: path: ${{ env.DENO_DIR }} key: deno-dir-prod-${{ hashFiles('deno.lock') }} restore-keys: deno-dir-${{ hashFiles('deno.lock') }} - name: Build working-directory: ${{ inputs.app-directory }} run: deno task build - name: Upload to Deno Deploy uses: denoland/deployctl@v1 with: project: ${{ inputs.project }} root: ${{ inputs.working-directory }} entrypoint: '${{ inputs.app-directory || inputs.working-directory }}/main.ts' import-map: '${{ inputs.app-directory || inputs.working-directory }}/import_map.json'