Github Actions file_server with headers
Hello, I have my portfolio deployed in deno deploy (developed in Angular and I use Github Actions for the bundle and deploy), and I was interested in adding the header to my deploy.yml of my github actions
Cache-Control: max-age=336000
locally I can use
deno run -A https://deno.land/std@0.217.0/http/file_server.ts -H "Cache-Control: max-age=336000"
but in a github action I can't use
- name: Upload to Deno Deploy
uses: denoland/deployctl@v1
with:
project: "ricardorobles"
entrypoint: "https://deno.land/std@0.217.0/http/file_server.ts -H 'Cache-Control: max-age=2592000'"
Does anyone know how I can add that header?
2 Replies
I wasn't able to find the answer to your question in the official Deno documentation. However, based on the information you've provided in your message, it seems like you're trying to pass command-line arguments to the
file_server.ts
script within the GitHub Actions workflow, which might not be the correct approach when using the deployctl
action.
The deployctl
GitHub Action is designed to deploy your code to Deno Deploy, and it doesn't accept command-line arguments for the file_server.ts
script in the entrypoint
field. The entrypoint
field should only contain the path to your entry file.
Here's a suggestion that is not based on the Deno documentation, so please double-check the accuracy of this advice:
To set custom headers like Cache-Control
, you would typically need to modify the server code to include these headers in the response. Since you're using file_server.ts
directly, you might need to create a custom version of file_server.ts
that sets the desired headers.
You could create a custom server file in your repository that imports file_server.ts
and adds the Cache-Control
header to the responses. Then, you would use this custom server file as the entrypoint in your GitHub Actions workflow.
Here's a rough example of what that custom server file might look like:
Then, in your GitHub Actions workflow, you would update the entrypoint
to point to your custom serverfile:
Remember to replace
"path_to_your_files"
with the actual path to your Angular build output and "path_to_your_custom_file_server.ts"
with the actual path to your custom server file.
Please note that this is a general suggestion and may require adjustments to fit your specific use case. It's important to test this locally before deploying to ensure it works as expected.