Not Found Error on localhost:3400 on Github Actions - npm

So I want to build and run my svelte application on Github Actions (and the fastapi backend) and then do cypress tests on them. Running fastapi backend works so far.
The Problem is even when npm logs
Your application is ready~! 🚀
- Local: http://localhost:3400
cypress get's a not found error on cy.visit(). I also tried just waiting on localhost:3400 (for 120 seconds) but this doesn't work either.
In my main.yml looks like this:
- name: Build and run Svelte app
run: |
npm install cypress
cd frontend/app
npm install
npm run build
npm run start &
sleep 120
cd ..
cd ..
npx cypress run
Does anyone has a clue why this happens? Has been very frustrating.
Later I want to auto dockerize and deploy. Should I already go on with this, so maybe it gets easier once it's dockerized?

Related

Laravel 9 - Install Breeze

I have created a Fresh Laravel-9 Project, created a database in admin-sql and updated the .env file. After this, I ran following commands:
composer require laravel/breeze --dev
php artisan breeze:install
php artisan migrate
npm install
npm run dev
I then ran Laravel and registered a user. I then closed my project and closed all command prompt windows. Next time I ran my project and trid to login and got the following error
Did you forget to run npm install && npm run dev?".
I then ran npm run dev and a server started at 127.0.0.1 and then I was able to login.
My question is, everytime I open my project, do I have to run an additional server at 127.0.0.1 using npm run dev in addition to php artisan serve or am I doing something wrong?
When I used Laravel 9 for the first time, I had the same doubt.
It seems you do need to run it everytime.
But if you do not want to build your files again then you may use the build command
npm run build

yarn serve in background

I'm trying to configure gitlab CI/CD for cypress e2e testing on my vue app which uses yarn for package management. cypress documents are all written for npm cypress gitlab ci/cd configuration tutorial
# start the server in the background
- npm run start:ci &
# run Cypress tests
- npx cypress run --browser firefox
is there a way to start server in background for yarn? like running yarn serve but in background.
There is an issue with the command yarn serve&. It will still give you this screen when done compiling:
I found a way to work around this through pm2 and this command
pm2 start yarn --interpreter bash --name api -- start

On Mac M1, can't run scripts in package.json: - sh: <dependency>: command not found

I just got a Mac Mini M1 for personal use, and I'm trying to run a preexisting React app. I installed nodejs and npm successfully, and running npm install does add the node_modules folder correctly as far as I can tell; but whenever I run npm start or npm run <script>, I get an error. It seems that npm can't access any of the project's dependencies. I've tried this using the rosetta terminal as well with the same results.
For an example, I initialized a new React project with npx create-react-app test_app, then cded into it and ran npm start. I got:
test_repo#0.1.0 start
> react-scripts start
sh: react-scripts: command not found
How do I get these commands to run properly and launch the app?
Here's what I'm using for node and npm:
➜ test_repo npm -v
7.6.0
➜ test_repo node -v
v15.11.0
I found a (very) hacky solution for now. I'm no expert with npm, but what I discovered is that npm scripts refer to dependencies indirectly - for example, having a command that says
"test": "jest"
tells npm to look in node_modules/.bin for a file called jest and to run that.
the issue is something to do with npm understanding this. But it's possible to get around that by putting the address of each dependency in the script, for example:
"test" "node_modules/.bin/jest"
I was able to get things to build this way. If someone comes along with a better answer, please show me up :P

When I run cypress as npm run cypress run build fails

I have installed cypress using npm as npm install cypress --save-dev .
I used the same command in .gitlab-ci.yml file
When i run the command npm run cypress run locally , IDE opens and when i double click the spec.js file , then the tests run.
But I i use the same command on the gitlab pipeline , it says
cypress open "run"
It looks like this is your first time using Cypress: 4.1.0
[07:45:16] Verifying Cypress can run /osmc/ux/framework-acceptance-tests/cache/Cypress/4.1.0/Cypress [started]
[07:45:18] Verifying Cypress can run /osmc/ux/framework-acceptance-tests/cache/Cypress/4.1.0/Cypress [completed]
Opening Cypress...
and build fails .
Am i missing anything here ?
It's because it's opening the test runner, which is used locally via npx cypress open.
From that output it looks like you're running npx cypress open run, which isn't a real command and will open the runner
In CI you need to use npx cypress run, which will run tests without user interaction. https://docs.cypress.io/guides/guides/command-line.html#How-to-run-commands
Your gitlab.yml file should accomodate for the npm installations.
One example is as below. Meanwhile also please check the test/run command for your specs under package.json file. use the same command to trigger the test in pipeline.
stages:
- test
test:
image: cypress/browsers:node12.14.1-chrome85
stage: test
script:
npm i
npm run start:ci &
npx cypress run
You should have your .gitlab-ci.yml with:
stages:
- test
cypress-test:
image: cypress/browsers:node16.14.0-slim-chrome99-ff97
stage: test
script:
- npm ci
- npx cypress run

React-native-navigation: how to start the playground app?

I cloned into the react-native-navigation git and would like to use their showcase app. However, running npm run install-android and then npm run start does not start the app. When I use the npm run test-unit-android the test work.
What am I doing wrong or seeing?