From 0bda1c6dc935b713ce1723037653d72a281572f5 Mon Sep 17 00:00:00 2001 From: jona nduati Date: Tue, 22 Oct 2024 11:10:22 +0300 Subject: [PATCH 01/24] Create c structures book --- c structures book | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 c structures book diff --git a/c structures book b/c structures book new file mode 100644 index 0000000..7b1cb46 --- /dev/null +++ b/c structures book @@ -0,0 +1,32 @@ +// c structures +#include +#include //strcpy +stuct book { + char title[30] + char name[30] + char ISBN[13] + int publication_year; + float price; +} + int main() { + //initializing variable (operators) + strcpy(book1.title,"introducction to c structure"); + strcpy(book1.name,"john smith"); + strcpy(book1.ISBN,"701_354603975"); + Book1.publication_year=2022; + book1.price=49.99; + + printf("Title;%s\n",book1.introduction to c programming); + printf("Author %s\n",book1.john smith); + printf("publication_year %s\n",book1.2022); + printf("ISBN %s \n",book1.701_35460395); + printf("price %s\n",book1.49.99) + + //printf("enter name ") + //scanf("%s",&introduction to c structure); + + return 0; + + + + From 37880da2ed3d6baeee68661620bea2587265dda8 Mon Sep 17 00:00:00 2001 From: jona nduati Date: Tue, 22 Oct 2024 11:49:40 +0300 Subject: [PATCH 02/24] Create program to find the area of a rectangle #include int main() { int length, width, area; printf("length: "); scanf("%d", &length); printf("width: "); scanf("%d", &width); area = length * width; printf("area %.d\n", area); return 0; } --- ...idth; printf(\"area %.d\\n\", area); return 0; }" | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 "area of a rectangle/program to find the area of a rectangle #include int main() { int length, width, area; printf(\"length: \"); scanf(\"%d\", &length); printf(\"width: \"); scanf(\"%d\", &width); area = length * width; printf(\"area %.d\\n\", area); return 0; }" diff --git "a/area of a rectangle/program to find the area of a rectangle #include int main() { int length, width, area; printf(\"length: \"); scanf(\"%d\", &length); printf(\"width: \"); scanf(\"%d\", &width); area = length * width; printf(\"area %.d\\n\", area); return 0; }" "b/area of a rectangle/program to find the area of a rectangle #include int main() { int length, width, area; printf(\"length: \"); scanf(\"%d\", &length); printf(\"width: \"); scanf(\"%d\", &width); area = length * width; printf(\"area %.d\\n\", area); return 0; }" new file mode 100644 index 0000000..94f6c43 --- /dev/null +++ "b/area of a rectangle/program to find the area of a rectangle #include int main() { int length, width, area; printf(\"length: \"); scanf(\"%d\", &length); printf(\"width: \"); scanf(\"%d\", &width); area = length * width; printf(\"area %.d\\n\", area); return 0; }" @@ -0,0 +1,12 @@ +//program to find the area of a rectangle +#include +int main() { +int length, width, area; +printf("length: "); +scanf("%d", &length); +printf("width: "); +scanf("%d", &width); +area = length * width; +printf("area %.d\n", area); +return 0; +} From 0eaa56eb731c2ecd864519d01dc7599718574521 Mon Sep 17 00:00:00 2001 From: jona nduati Date: Tue, 22 Oct 2024 11:52:02 +0300 Subject: [PATCH 03/24] Create students grading system --- students grading system | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 students grading system diff --git a/students grading system b/students grading system new file mode 100644 index 0000000..a07e3c3 --- /dev/null +++ b/students grading system @@ -0,0 +1,32 @@ +// grading system of students +#include + +int main() { + int marks1, marks2, marks3, average; + + printf("Enter marks for subject 1: "); + scanf("%d", &marks1); + + printf("Enter marks for subject 2: "); + scanf("%d", &marks2); + + printf("Enter marks for subject 3: "); + scanf("%d", &marks3); + + average = (marks1 + marks2 + marks3) / 3; + printf("Average Marks = %.d\n", average); + + if (average >= 70) { + printf("Grade: A\n"); + } else if (average >= 60) { + printf("Grade: B\n"); + } else if (average >= 50) { + printf("Grade: C\n"); + } else if (average >= 40) { + printf("Grade: D\n"); + } else { + printf("Grade: E (Fail)\n"); + } + + return 0; + } From a4f27326a03a44bec0248f10fb5a2fdc083ac9b4 Mon Sep 17 00:00:00 2001 From: jona nduati Date: Tue, 22 Oct 2024 11:54:16 +0300 Subject: [PATCH 04/24] Create bank loan qualification --- bank loan qualification | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 bank loan qualification diff --git a/bank loan qualification b/bank loan qualification new file mode 100644 index 0000000..6131df3 --- /dev/null +++ b/bank loan qualification @@ -0,0 +1,16 @@ +//bank loan +#include +int main(){ +int age,income; +printf("enter your age:"); +scanf ("%d",&age); +printf ("enter income:"); +scanf("%d",&income); +if(age>=21&& income>21000){ +printf("congratulations you qualify for the loan\n"); +} +else{ +printf("you don't qualify for the loan\n"); +} +return 0; +} From 95e463ab86c0c94951743f90a148d5f402511021 Mon Sep 17 00:00:00 2001 From: jona nduati Date: Tue, 22 Oct 2024 11:55:48 +0300 Subject: [PATCH 05/24] Create area of arectangle --- area of arectangle | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 area of arectangle diff --git a/area of arectangle b/area of arectangle new file mode 100644 index 0000000..94f6c43 --- /dev/null +++ b/area of arectangle @@ -0,0 +1,12 @@ +//program to find the area of a rectangle +#include +int main() { +int length, width, area; +printf("length: "); +scanf("%d", &length); +printf("width: "); +scanf("%d", &width); +area = length * width; +printf("area %.d\n", area); +return 0; +} From 081098c57f99b294e6e3b1c7c36511ab74a2aec6 Mon Sep 17 00:00:00 2001 From: jona nduati Date: Tue, 29 Oct 2024 08:10:56 +0300 Subject: [PATCH 06/24] Create library program --- library program | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 library program diff --git a/library program b/library program new file mode 100644 index 0000000..0436c24 --- /dev/null +++ b/library program @@ -0,0 +1,30 @@ + #include +int main(){ +int bookid; +double duedate,returndate; +double finerate,fineamount,daysoverdue; +printf("enter the bookid:"); +scanf("%d",&bookid); +printf("enter the duedate:"); +scanf("%lf",&duedate); +printf("enter the returndate:"); +scanf("%lf",&returndate); +daysoverdue=returndate-duedate; +if(daysoverdue<=7){ +finerate=20; +} +else if(daysoverdue<=14){ +finerate=50; +} +else { +finerate=100; +} +fineamount=finerate*daysoverdue; +printf("bookid:%d\n",bookid); +printf("duedate:%lf\n",duedate); +printf("returndate:%lf\n",returndate); +printf("daysoverdue:%lf\n",daysoverdue); +printf("finerate:%lf\n",finerate); +printf("fineamount:%lf\n",fineamount); +return 0; +} From 953c3b3ac54b7309b7cc443f51330b109021c62d Mon Sep 17 00:00:00 2001 From: jona nduati Date: Tue, 29 Oct 2024 09:48:28 +0300 Subject: [PATCH 07/24] Create c file program --- c file program | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 c file program diff --git a/c file program b/c file program new file mode 100644 index 0000000..0ee7bd1 --- /dev/null +++ b/c file program @@ -0,0 +1,22 @@ +//C file handling :writing to a file +#include //scanf(),printf(),fprintf(),fscanf(),fclose() +#include //exit() + +int main () { + int number; + FILE *fptr; //declare pointer + + fptr = fopen("C:\\users\\JonaN\\Desktop\\C program\\file.txt","w"); + if (fptr==NULL){ + printf("Error opening the file"); + exit(1); + } + printf("Enter a random number:"); + scanf("%d", &number); + + fprintf(fptr, "The number entered is %d",number); + fclose(fptr); + printf("Number written succesfully"); + + return 0; //execution successfully +} From 7fdd5e8380e208bbe8263597837c088856e3395e Mon Sep 17 00:00:00 2001 From: jona nduati Date: Tue, 29 Oct 2024 11:02:36 +0300 Subject: [PATCH 08/24] Rename area of a rectangle/program to find the area of a rectangle #include int main() { int length, width, area; printf("length: "); scanf("%d", &length); printf("width: "); scanf("%d", &width); area = length * width; printf("area %.d\n", area); return 0; } to area of a rectangle.c --- ...(\"area %.d\\n\", area); return 0; }" => area of a rectangle.c | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename "area of a rectangle/program to find the area of a rectangle #include int main() { int length, width, area; printf(\"length: \"); scanf(\"%d\", &length); printf(\"width: \"); scanf(\"%d\", &width); area = length * width; printf(\"area %.d\\n\", area); return 0; }" => area of a rectangle.c (100%) diff --git "a/area of a rectangle/program to find the area of a rectangle #include int main() { int length, width, area; printf(\"length: \"); scanf(\"%d\", &length); printf(\"width: \"); scanf(\"%d\", &width); area = length * width; printf(\"area %.d\\n\", area); return 0; }" b/area of a rectangle.c similarity index 100% rename from "area of a rectangle/program to find the area of a rectangle #include int main() { int length, width, area; printf(\"length: \"); scanf(\"%d\", &length); printf(\"width: \"); scanf(\"%d\", &width); area = length * width; printf(\"area %.d\\n\", area); return 0; }" rename to area of a rectangle.c From 5fde5b09fb40af31fcfe3fff4b68424bb2c99151 Mon Sep 17 00:00:00 2001 From: jona nduati Date: Tue, 29 Oct 2024 11:05:01 +0300 Subject: [PATCH 09/24] Rename bank loan qualification to bank loan qualification.c --- bank loan qualification => bank loan qualification.c | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename bank loan qualification => bank loan qualification.c (100%) diff --git a/bank loan qualification b/bank loan qualification.c similarity index 100% rename from bank loan qualification rename to bank loan qualification.c From 703c388ef466a6d771d0c5acab065139b841edce Mon Sep 17 00:00:00 2001 From: jona nduati Date: Tue, 29 Oct 2024 11:06:09 +0300 Subject: [PATCH 10/24] Rename c file program to c file program.c --- c file program => c file program.c | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename c file program => c file program.c (100%) diff --git a/c file program b/c file program.c similarity index 100% rename from c file program rename to c file program.c From b7ed5cf0c831d0befdfe85deaebbebc3eaadccaf Mon Sep 17 00:00:00 2001 From: jona nduati Date: Tue, 29 Oct 2024 11:06:44 +0300 Subject: [PATCH 11/24] Rename c structures book to c structures book.c --- c structures book => c structures book.c | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename c structures book => c structures book.c (100%) diff --git a/c structures book b/c structures book.c similarity index 100% rename from c structures book rename to c structures book.c From 8de90e57db18410617db24bab4a19d300539f50f Mon Sep 17 00:00:00 2001 From: jona nduati Date: Tue, 29 Oct 2024 11:11:02 +0300 Subject: [PATCH 12/24] Rename library program to library program.c --- library program => library program.c | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename library program => library program.c (100%) diff --git a/library program b/library program.c similarity index 100% rename from library program rename to library program.c From 14a52fa551adf2a74903ebd0336757a4b1d5bfb1 Mon Sep 17 00:00:00 2001 From: jona nduati Date: Tue, 29 Oct 2024 11:11:44 +0300 Subject: [PATCH 13/24] Rename students grading system to students grading system.c --- students grading system => students grading system.c | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename students grading system => students grading system.c (100%) diff --git a/students grading system b/students grading system.c similarity index 100% rename from students grading system rename to students grading system.c From b9d2a8dca0664da6285563f5d9c6592121a77fe7 Mon Sep 17 00:00:00 2001 From: jona nduati Date: Tue, 5 Nov 2024 08:51:18 +0300 Subject: [PATCH 14/24] Create C program to check whether a number is even.c --- C program to check whether a number is even.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 C program to check whether a number is even.c diff --git a/C program to check whether a number is even.c b/C program to check whether a number is even.c new file mode 100644 index 0000000..d936724 --- /dev/null +++ b/C program to check whether a number is even.c @@ -0,0 +1,13 @@ +//C program to check whether a number is even +#include +int main() { + int number; + printf("Enter the number"); + scanf("%d", &number); + if(number % 2 == 0){ + printf("The number is even\n"); + }else { + printf("The number is odd\n"); + } + return 0; +} From e553682a6861609bdde308693663d7bccee701ab Mon Sep 17 00:00:00 2001 From: jona nduati Date: Tue, 5 Nov 2024 10:15:17 +0300 Subject: [PATCH 15/24] Create Employee program.c --- Employee program.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 Employee program.c diff --git a/Employee program.c b/Employee program.c new file mode 100644 index 0000000..0881501 --- /dev/null +++ b/Employee program.c @@ -0,0 +1,27 @@ +//C structure program +#include + +struct Employee{ + char name[25]; + char email[50]; + char department[20]; + float salary; + int ID; +}employee; +int main(){ + struct Employee employee={ + "john Doe", + "john.doe@company.com", + "Human Resources", + 55000.50, + 12345, + +}; + + printf("name:%s\n",&employee.name); + printf("email:%s\n",&employee.email); + printf("department:%s\n",&employee.department); + printf("salary:%f\n",&employee.salary); + printf("ID:%d\n",&employee.ID); + + return 0; From 8f0e6282d47b79b8b041638369ecbaf4db3e3bcf Mon Sep 17 00:00:00 2001 From: jona nduati Date: Tue, 12 Nov 2024 10:33:24 +0300 Subject: [PATCH 16/24] Create do while program.c --- do while program.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 do while program.c diff --git a/do while program.c b/do while program.c new file mode 100644 index 0000000..8de064b --- /dev/null +++ b/do while program.c @@ -0,0 +1,18 @@ +//Do while program +#include + +int main() { + int i = 1, n; + + // Prompt user for input + printf("Enter the number of terms: "); + scanf("%d", &n); + + // Do..while loop to calculate and print the cube of each number + do { + printf("Number is : %d and cube of %d is : %d\n", i, i, i * i * i); + i++; + } while (i <= n); + + return 0; +} From b645159d72e52dff312ad84352cf70972a6c8eed Mon Sep 17 00:00:00 2001 From: jona nduati Date: Tue, 12 Nov 2024 10:37:30 +0300 Subject: [PATCH 17/24] Create for loop.c --- for loop.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 for loop.c diff --git a/for loop.c b/for loop.c new file mode 100644 index 0000000..bc4fd2c --- /dev/null +++ b/for loop.c @@ -0,0 +1,17 @@ +//For loop program +#include + +int main() { + int i, n; + + // Prompt user for input + printf("Enter the number of terms: "); + scanf("%d", &n); + + // For loop to calculate and print the cube of each number + for (i = 1; i <= n; i++) { + printf("Number is : %d and cube of %d is : %d\n", i, i, i * i * i); + } + + return 0; +} From 472b90124f74f8e7168bbde3fdf72d43871b8291 Mon Sep 17 00:00:00 2001 From: jona nduati Date: Tue, 12 Nov 2024 10:40:43 +0300 Subject: [PATCH 18/24] Create Appending c file.c --- Appending c file.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Appending c file.c diff --git a/Appending c file.c b/Appending c file.c new file mode 100644 index 0000000..d661989 --- /dev/null +++ b/Appending c file.c @@ -0,0 +1,29 @@ +//appending a sentence in a file +#include +#include + +void appendToFile() { + FILE *fptr; + char sentence[100]; + + // Open the file in append mode + fptr = fopen("C:\\Users\\clemoh\\OneDrive\\Desktop\\cfiles\\data.txt", "a"); + if (fptr == NULL) { + printf("Error opening file for appending.\n"); + exit(1); + } + + // Get a second sentence from the user + printf("Enter another sentence to append (up to 100 characters): "); + fgets(sentence, sizeof(sentence), stdin); + + // Append the sentence to the file + fprintf(fptr, "%s", sentence); + fclose(fptr); + printf("Sentence appended to file successfully.\n"); +} + +int main() { + appendToFile(); + return 0; +} From 1391220968cfcdc4dddf39ad98878e692304199f Mon Sep 17 00:00:00 2001 From: jona nduati Date: Tue, 12 Nov 2024 10:45:15 +0300 Subject: [PATCH 19/24] Create Prompt variables.c --- Prompt variables.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 Prompt variables.c diff --git a/Prompt variables.c b/Prompt variables.c new file mode 100644 index 0000000..2cc52d8 --- /dev/null +++ b/Prompt variables.c @@ -0,0 +1,38 @@ +//c variables and data types +//pre-processor directive +#include scanf(), printf() +int main(){ + //declaration and intialization + char a; + char name[]={}; + int age; + float area; + double salary; + + printf("enter character: "); + scanf("%s",&a); +printf("the character is %c \n",a); + + printf("enter name: "); + scanf("%s",&name); + printf("the string is %s \n",name); + + printf("enter age: "); + scanf("%d",&age); +printf("the integer is %d years \n",age); + + +printf("enter area: "); + scanf("%f",&area); +printf("the float is %.3f meters squared \n",area); + + + printf("enter salary: "); + scanf("%lf",&salary); + printf("the double is Ksh,%.2lf \n",salary); + + + printf(""); + + return 0; +} From cf283236da3ce7cf7b819104e51ba25357e601b4 Mon Sep 17 00:00:00 2001 From: jona nduati Date: Tue, 12 Nov 2024 10:49:35 +0300 Subject: [PATCH 20/24] Create write to a file.c --- write to a file.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 write to a file.c diff --git a/write to a file.c b/write to a file.c new file mode 100644 index 0000000..1e27e9b --- /dev/null +++ b/write to a file.c @@ -0,0 +1,28 @@ +//write a sentence into a file +#include +#include + +void writeToFile() { + FILE *fptr; + char sentence[100]; + + // Open the file in write mode + fptr = fopen("C:\\Users\\clemoh\\OneDrive\\Desktop\\cfiles\\data.txt", "w"); + if (fptr == NULL) { + printf("Error opening file for writing.\n"); + exit(1); + } + + // Get a sentence from the user + printf("Enter a sentence (up to 100 characters): "); + fgets(sentence, sizeof(sentence), stdin); + + // Write the sentence to the file + fprintf(fptr, "%s", sentence); + fclose(fptr); + printf("Sentence written to file successfully.\n"); +} + +int main() { + writeToFile(); + return 0; From f05c2ee00ad9a894d9a0a3c194cdf15320cfca35 Mon Sep 17 00:00:00 2001 From: jona nduati Date: Tue, 12 Nov 2024 10:52:31 +0300 Subject: [PATCH 21/24] Create 5 student.c --- 5 student.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 5 student.c diff --git a/5 student.c b/5 student.c new file mode 100644 index 0000000..fc278b1 --- /dev/null +++ b/5 student.c @@ -0,0 +1,32 @@ +//A C program that reads the names and marks of 5 students +#include +#include + +int main() { + FILE *fptr; + char name[50]; + int marks, i; + + // Open the file in write mode + fptr = fopen("C:\\Users\\clemoh\\OneDrive\\Desktop\\cfiles\\students.txt", "w"); + if (fptr == NULL) { + printf("Error opening the file.\n"); + exit(1); + } + + // Loop to read name and marks of 5 students and store them in the file + for (i = 1; i <= 5; i++) { + printf("Enter name of student %d: ", i); + scanf("%s", name); + printf("Enter marks of student %d: ", i); + scanf("%d", &marks); + + // Write the name and marks to the file + fprintf(fptr, "Student %d: Name = %s, Marks = %d\n", i, name, marks); + } + + fclose(fptr); + printf("Data written successfully to students.txt.\n"); + return 0; +} +} From 37533e3856ede487a0cc238e362d8dd0b2f7e01a Mon Sep 17 00:00:00 2001 From: jona nduati Date: Tue, 12 Nov 2024 10:54:05 +0300 Subject: [PATCH 22/24] Rename area of arectangle to area of arectangle.c --- area of arectangle => area of arectangle.c | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename area of arectangle => area of arectangle.c (100%) diff --git a/area of arectangle b/area of arectangle.c similarity index 100% rename from area of arectangle rename to area of arectangle.c From 2ea322c12f3c6144dee93060eae9799bde2f6bf8 Mon Sep 17 00:00:00 2001 From: jona nduati Date: Tue, 12 Nov 2024 10:56:53 +0300 Subject: [PATCH 23/24] Create n students.c --- n students.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 n students.c diff --git a/n students.c b/n students.c new file mode 100644 index 0000000..a895eff --- /dev/null +++ b/n students.c @@ -0,0 +1,35 @@ +//A C program that reads the names and marks of an n number of students +#include +#include + +int main() { + FILE *fptr; + char name[50]; + int marks, i, n; + + // Open the file in append mode + fptr = fopen("C:\\Users\\clemoh\\OneDrive\\Desktop\\cfiles\\students.txt", "a"); + if (fptr == NULL) { + printf("Error opening the file.\n"); + exit(1); + } + + // Prompt user for number of students + printf("Enter the number of students: "); + scanf("%d", &n); + + // Loop to read name and marks of n students and append them to the file + for (i = 1; i <= n; i++) { + printf("Enter name of student %d: ", i); + scanf("%s", name); + printf("Enter marks of student %d: ", i); + scanf("%d", &marks); + + // Append the name and marks to the file + fprintf(fptr, "Student %d: Name = %s, Marks = %d\n", i, name, marks); + } + + fclose(fptr); + printf("Data written successfully to students.txt.\n"); + return 0; +} From d47364b9de9a366b92d0cec31ac8929de3a578ee Mon Sep 17 00:00:00 2001 From: jona nduati Date: Fri, 6 Feb 2026 17:42:09 +0300 Subject: [PATCH 24/24] Add GitHub Actions workflow for npm package publishing This workflow runs tests and publishes a Node.js package to GitHub Packages upon release creation. --- .../workflows/npm-publish-github-packages.yml | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .github/workflows/npm-publish-github-packages.yml diff --git a/.github/workflows/npm-publish-github-packages.yml b/.github/workflows/npm-publish-github-packages.yml new file mode 100644 index 0000000..ea2d329 --- /dev/null +++ b/.github/workflows/npm-publish-github-packages.yml @@ -0,0 +1,36 @@ +# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created +# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages + +name: Node.js Package + +on: + release: + types: [created] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 20 + - run: npm ci + - run: npm test + + publish-gpr: + needs: build + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 20 + registry-url: https://npm.pkg.github.com/ + - run: npm ci + - run: npm publish + env: + NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}}