Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 7 additions & 18 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@
# Read & write - access to actions and code
# 2. GH_USER_NAME - The name (not username) associated with the Git user. e.g. John Smith
# 3. GH_USER_EMAIL - The email associated with the Git user
# 4. NPM_TOKEN - A token for publishing to npm
# 5. DOCKERHUB_TOKEN - Docker Hub publishing token
# 4. DOCKERHUB_TOKEN - Docker Hub publishing token
########################################################################################
name: Continuous Build

Expand Down Expand Up @@ -41,7 +40,7 @@ jobs:
- name: Setup Node
uses: actions/setup-node@v6
with:
node-version: '24'
node-version: 24
cache: 'pnpm'
- name: Install Dependencies
run: pnpm install --frozen-lockfile
Expand All @@ -64,7 +63,7 @@ jobs:
- name: Setup Node
uses: actions/setup-node@v6
with:
node-version: '24'
node-version: 24
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
Expand Down Expand Up @@ -99,9 +98,6 @@ jobs:
needs: required-checks-passed
# Only tag and release on pushes to main
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
strategy:
matrix:
node-version: [20]
permissions:
id-token: write
contents: write
Expand All @@ -115,7 +111,8 @@ jobs:
- name: Setup Node
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}
node-version: 24
registry-url: 'https://registry.npmjs.org'
cache: 'pnpm'
- name: Configure Git credentials
run: |
Expand All @@ -138,18 +135,10 @@ jobs:
GH_ACCESS_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }}
- name: Publish airnode-feed to npm
if: ${{ steps.validate-tag.outputs.new-tag }}
run: |
npm config set "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}"
cd packages/airnode-feed && pnpm publish --access public
env:
NPM_CONFIG_PROVENANCE: true
run: cd packages/airnode-feed && pnpm publish --access public
- name: Publish signed-api to npm
if: ${{ steps.validate-tag.outputs.new-tag }}
run: |
npm config set "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}"
cd packages/signed-api && pnpm publish --access public
env:
NPM_CONFIG_PROVENANCE: true
run: cd packages/signed-api && pnpm publish --access public
- name: Set up Docker Buildx
if: ${{ steps.validate-tag.outputs.new-tag }}
uses: docker/setup-buildx-action@v3
Expand Down
4 changes: 4 additions & 0 deletions packages/airnode-feed/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,8 @@ To deploy on premise you can use the Docker image by reading the instructions be

To run the Airnode feed docker image you need to:

<!-- markdown-link-check-disable -->
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CI sometimes fails to link check the link below.


1. Mount config folder to `/app/config`. The folder should contain the `airnode-feed.json` and `secrets.env` files.
2. Pass the `-it --init` flags to the docker run command. This is needed to ensure the docker is stopped gracefully. See
[this](https://github.com/nodejs/docker-node/blob/main/docs/BestPractices.md#handling-kernel-signals) for details.
Expand All @@ -87,6 +89,8 @@ To run the Airnode feed docker image you need to:
6. Lastly, if you are using Docker Desktop and you want to access the host machine, you need to change the host URL from
`localhost` to `host.docker.internal` in the configuration files.

<!-- markdown-link-check-enable -->

For example:

```sh
Expand Down
4 changes: 4 additions & 0 deletions packages/signed-api/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,8 @@ To deploy on premise you can use the Docker instructions below.

The API is also dockerized. To run the dockerized APi, you need to:

<!-- markdown-link-check-disable -->

1. Publish the port of the API to the host machine. The port number of signed API in the container is set to `80`. So
the command should look like `--publish <HOST_PORT>:80`.
2. Mount config folder to `/app/config`. The folder should contain the `signed-api.json` file.
Expand All @@ -78,6 +80,8 @@ The API is also dockerized. To run the dockerized APi, you need to:
4. Specify the `--env-file` with the path to the `.env` file containing the [ENV configuration](#environment-variables).
5. Optionally, pass the `--rm` flag to remove the container after it is stopped.

<!-- markdown-link-check-enable -->

For example:

```sh
Expand Down
2 changes: 1 addition & 1 deletion packages/signed-api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
"@api3/airnode-feed": "workspace:*",
"@api3/commons": "^1.0.1",
"@api3/promise-utils": "^0.4.0",
"@aws-sdk/client-s3": "^3.956.0",
"@aws-sdk/client-s3": "^3.958.0",
"dotenv": "^17.2.3",
"ethers": "^5.8.0",
"express": "^5.2.1",
Expand Down
Loading