fleekhq / ic-deploy-action Goto Github PK
View Code? Open in Web Editor NEWGithub action that wraps dfx commands to deploy canisters to Dfinity on push
Github action that wraps dfx commands to deploy canisters to Dfinity on push
dfx version: 0.9.3
laptop: mac M1 (12.3.1)
while using the fleekhq ic-deploy action on my ICP project. I kept encountering the following error No such file or directory (os error 2)
as shown in the image below;
my deploy.yaml looked just like the current README on this project;
on: [push]
jobs:
test-deploy:
runs-on: ubuntu-latest
name: A job to deploy canisters to the IC
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: npm install
- name: Deploy canisters
id: deploy
uses: fleekhq/ic-deploy-action@master
with:
identity: ${{ secrets.DFX_IDENTITY }}
wallets: ${{ secrets.DFX_WALLETS }}
- name: Show success message
run: echo success!
Verified my canister source paths were correct, and the dist folder and .dfx folders existed.
So i decided to fork this repo and try replicating the issue locally to find out whats going on.
When trying to replicate it locally, I ran into a different error upon getting to the dfx deploy
part, The command '"npm" "run" "build"' failed with exit status 'exit status: 127'.
.
It wasn't until i added npm
and rsync
on the image that i was able to deploy it to IC from my local.
Below is the modified Dockerfile I used.
# switched from aarch to amd64 bc mac m1 was giving me issues about that arch type
FROM amd64/ubuntu:focal
ENV NPM_CONFIG_PREFIX=/home/node/.npm-global
ENV PATH="/home/node/.npm-global/bin:$PATH"
ENV DEBIAN_FRONTEND=noninteractive # used to have npm install non-interactive
USER node
COPY dfx-install.sh /home/dfx-install.sh
COPY entrypoint.sh /home/node/entrypoint.sh
USER root
RUN apt-get update && apt-get install -y curl \
build-essential \
libc6-dev \
rsync \
npm
RUN ["chmod", "+x", "/home/dfx-install.sh"]
RUN ["sh", "-m", "/home/dfx-install.sh"]
RUN ["chmod", "+x", "/home/node/entrypoint.sh"]
ENTRYPOINT ["/home/node/entrypoint.sh"]
Then i added my fork as apart of my github action
on: [push]
jobs:
test-deploy:
runs-on: ubuntu-latest
name: A job to deploy canisters to the IC
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: npm install
- name: Deploy canisters
id: deploy
uses: gespi1/ic-deploy-action@master
with:
identity: ${{ secrets.DFX_IDENTITY }}
wallets: ${{ secrets.DFX_WALLETS }}
- name: Show success message
run: echo success!
and WAH-LA the error I was getting originally is gone.
Seems like having npm
and rsync
installed as part of the Dockerfile solved my issue.
Not certain of the root cause and if others are having the same issue but if you are here ya go.
Hi - we in the OpenChat team are trying to use this and we need to use a different dfx version. If we supply the required DFX_VERSION env var e.g. 0.9.0 it still falls back to 0.8.4.
Perhaps related to the following error that we see in the logs?
Do you have any idea what's causing this?
Otherwise it works perfectly!
i amd trying to change me deploying repository and then try to trigger the deployment everytime when i do it works but now its showing the error on my different accounts
I'm using the Dank XTC token to pay for canister cycles. https://dank.ooo/
When I deploy to the IC, I use this command: dfx deploy --network ic --no-wallet
--no-wallet
is needed, because there is no canister wallet
Is it possible to supply the option --no-wallet
using this GitHub Action>?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.