potato-generator
potato-generator | v4 | |
---|---|---|
13 | 57 | |
0 | - | |
- | - | |
0.0 | - | |
over 2 years ago | - | |
C++ | ||
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
potato-generator
-
First time using Conan to release software
This week, I worked on my Static-Site Generator - Potato Generator to add package registry. My SSG is in C++ language. I chose Conan, GitLab, to publish my package officially.
-
Github Action
Finally, I moved onto working on Kien's potato SSG. His setup with catch2 is similar to mine, we both have it set up to provide us a main which we compile separately when we want to test it, rather than having it integrated into the program all the time. This made it easy to get started on his, I read his contributing.md which specified one should create a new source file to write their desired test cases, which I did. After messing around with file paths for a bit and figuring out how to get my test to pass, I pushed a commit and created a pull request with a test for his HTMLFile.getTitle() function. Unfortunately I realized with the workflow he had set up this wouldn't trigger his CI so I opted to insert my test case in test.cpp instead to see if it passed his workflow, which thankfully it did.
-
Set Up GitHub Action, add test to partner's repo
This week, I set up GitHub Action for my Static Site Generator (SSG). There are several options with C++ language and I picked C/C++ with Make to implement.
-
Catch2 - Testing Framework
You can take a closer look at all the testing files that I created so far and folder structure in the commit.
-
C++ Static Analysis Tool
This week, I work on my Static Site Generator (SSG) - Potato Generator. I plan to implement a source code formatter for my project, which is clang-format and a linter, which is clang-tidy.
-
Implement a Docusaurus Feature
This week, I'm working on my Static Site Generator (SSG) - Potato Generator to add a new feature for it.
-
Rebase, Squash, Amend in Git
This week, I work on my Static Site Generator (SSG) in C++ - Potato Generator. After weeks that people worked on and fixed my code. Finally, I have time to revise everything, make my first commit with Git Rebase, Squash and Amend
-
Remote Can Troll
Back to potato generator, I kept chipping away at it and had it almost ready to go this afternoon when I found I had glossed over the logic for supporting multiple languages in HTML. I didn't realize why he was iterating over the CLI arguments when in my SSG they were always in the same place relative to one another, so I did away with all those loops yesterday only to have to restore them today. After several tests I pushed the changes which (he then merged as well)[https://github.com/kiennguyenchi/potato-generator/pull/12].
- OSD600 - Week 4 - Lab 3
-
First experience with Pull Request
This is actually my first time working with Pull Request, and once again I choose Kien Nguyen as my partner for this lab. Based on the previous lab, I have noticed how he writes his program, as well as being familiar with the structure of Kien's program.I also check his repo to see if he would make any changes in his code. And this time, I would love to add Markdown Support Feature in his program. More specifically, I will make some adjustments to process .md file and implement Markdown syntax for Heading 1. This time, I have to be extra careful when modifying his code, I am trying to make less changes as much as possible ^!^. Let see how I make changes to his code in order to support Markdown file mentioned above.
v4
-
Manipulate Tags on Gitlab CI/CD
#!/bin/bash # list-tags.sh # List all Gitlab tags for a given project. # $CI_PROJECT_ID is a Gitlab pre-defined variable # $GITLAB_TOKEN is a project access token that needs to be # a defined CI/CD variable. GITLAB_API_URL="https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}" curl -k --header "PRIVATE-TOKEN: $GITLAB_TOKEN" "${GITLAB_API_URL}/repository/tags"
-
Using semantic-release to automate releases and changelogs
# ~/.npmrc @doppelmutzi:registry=https://gitlab.com/api/v4/projects//packages/npm/ //gitlab.com/api/v4/projects//packages/npm/:_authToken=
-
403 Forbidden error when I tried to assign a user developer role using GitLab API through Python code
GITLAB_API_URL = "https://gitlab.com/api/v4" PRIVATE_TOKEN = "" NAMESPACE = "mycompany" PROJECT_NAME = "test-project"
-
Error 404 error while giving project access to a user for a developer role using the GitLab API in Python code
import requests app = FastAPI() # GitLab API configuration GITLAB_API_URL = "https://gitlab.com/api/v4" PRIVATE_TOKEN = "" PROJECT_ID = "vinod827_1391/awesome" def grant_developer_access(username: str): # Get user details from GitLab user_url = f"{GITLAB_API_URL}/users?username={username}" response = requests.get(user_url, headers={"PRIVATE-TOKEN": PRIVATE_TOKEN}) user_data = response.json() if not user_data: raise HTTPException(status_code=404, detail=f"User {username} not found.") user_id = user_data[0]["id"] # Grant developer access to the project access_data = {"user_id": user_id, "access_level": 30} # 30 is the access level for developer access_url = f"{GITLAB_API_URL}/projects/{PROJECT_ID}/access_requests" response = requests.post(access_url, headers={"PRIVATE-TOKEN": PRIVATE_TOKEN}, json=access_data) print('response->', response) if response.status_code != 201: raise HTTPException(status_code=response.status_code, detail=response.text)
-
Create tag with slash in name via API from PowerShell issue
Invoke-RestMethod -Uri "https://gitlab.com/api/v4/projects/12345/repository/tags" -Headers $headers -Method POST -Body $jsonBody
-
va_openDriver() error while trying to install Librewolf on Fedora39
Hello everyone i'm trying to install Librewolf on my M1 MBA running fedora39 with gnome on wayland, I downloaded librewolf's compressed archive from https://gitlab.com/api/v4/projects/44042130/packages/generic/librewolf/120.0.1-1/librewolf-120.0.1-1-linux-arm64-package.tar.bz2
-
Unable to install GitLab Package Registry
repositories { maven { url "https://gitlab.com/api/v4/projects/PROJEC-ID/packages/maven" credentials(HttpHeaderCredentials) { name = "Private-Token" value = gitLabPrivateToken } authentication { header(HttpHeaderAuthentication) } } } }
-
O navegador LibreWolf, uma versão modificada do Firefox é confiavel?
Pagina da Gitlab: https://gitlab.com/api/v4/projects/44042130/packages/generic/librewolf/116.0-1/librewolf-116.0-1-windows-x86_64-setup.exe
-
Extend hidden job not working in CI
.base: image: alpine:3.18 before_script: - echo "Project is $CI_PROJECT_NAME" script: - apk update - apk --no-cache add git openssl ca-certificates curl perl https://$GITLAB_USER_NAME:$SVC_ACCESS_TOKEN@$CI_SERVER_HOST/$CI_PROJECT_PATH.git - mkdir -p /usr/local/share/ca-certificates/extra - openssl s_client -connect ${CI_SERVER_HOST}:${CI_SERVER_PORT} -servername ${CI_SERVER_HOST} -showcerts /dev/null | sed -e '/-----BEGIN/,/-----END/!d' | tee "/usr/local/share/ca-certificates/${CI_SERVER_HOST}.crt" >/dev/null - update-ca-certificates - curl --location --output /usr/local/bin/release-cli "https://gitlab.com/api/v4/projects/gitlab-org%2Frelease-cli/packages/generic/release-cli/latest/release-cli-linux-amd64" - chmod +x /usr/local/bin/release-cli - release-cli -v Versioning: stage: Version extends: - .base script: - if [[ "$CI_COMMIT_BRANCH" == *"feature/"* ]]; then IMAGE_TAG="nightly" ; elif [ "$CI_COMMIT_BRANCH" == "develop" ]; then IMAGE_TAG="devel"; else echo "Master/Main branch"; fi - echo "Version found is ${IMAGE_TAG}" allow_failure: false rules: - if: '$CI_COMMIT_BRANCH =~ /^(develop|main|feature.*$)$/' artifacts: paths: - $IMAGE_TAG expire_in: 1 minute
-
remote-exec reconnecting 1000 times
image: name: hashicorp/terraform:1.5 entrypoint: - '/usr/bin/env' - 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' stages: - Test and Lint - Build and Push - Staging Plan - Staging Apply - Staging Update App - Production Plan - Production Apply - Destroy before_script: - alias convert_report="jq -r '([.resource_changes[]?.change.actions?]|flatten)|{\"create\":(map(select(.==\"create\"))|length),\"update\":(map(select(.==\"update\"))|length),\"delete\":(map(select(.==\"delete\"))|length)}'" - apk add openssh-client - eval $(ssh-agent -s) - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - - mkdir -p ~/.ssh - chmod 700 ~/.ssh - echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa - ls ~/.ssh Test and Lint: image: docker:19.03.5 .............. Validate Terraform: stage: Test and Lint script: - echo "Validate Terraform" - cd deploy/ - terraform init --backend=false - terraform validate rules: - if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME =~ /^(main|production)$/ || $CI_COMMIT_BRANCH =~ /^(main|production)$/' Build and Push: stage: Build and Push ............... Staging Plan: stage: Staging Plan script: - echo "Run Terraform Plan for Staging" - cd deploy/ - export TF_VAR_image_api=$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA - export GITLAB_ACCESS_TOKEN=XXXXXXXXXXXXXXXXXXXXXXXXX - export STATE_NAME=Staging - terraform init -backend-config="address=https://gitlab.com/api/v4/projects/47021553/terraform/state/$STATE_NAME" -backend-config="lock_address=https://gitlab.com/api/v4/projects/47021553/terraform/state/$STATE_NAME/lock" -backend-config="unlock_address=https://gitlab.com/api/v4/projects/47021553/terraform/state/$STATE_NAME/lock" -backend-config="username=XXXXXXXXX" -backend-config="password=$GITLAB_ACCESS_TOKEN" -backend-config="lock_method=POST" -backend-config="unlock_method=DELETE" -backend-config="retry_wait_min=5" #- terraform workspace select staging || terraform workspace new staging - terraform plan rules: - if: '$CI_COMMIT_BRANCH =~ /^(main|production)$/' Staging Apply: stage: Staging Apply environment: name: Staging url: XXXXXXXXXXXXXXXXX on_stop: Staging Destroy script: - echo "Run Terraform Apply for Staging" - cd deploy/ - export TF_VAR_image_api=$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA - export GITLAB_ACCESS_TOKEN=XXXXXXXXXXXXXXXXXXXXXXX - export STATE_NAME=Staging - terraform init -backend-config="address=https://gitlab.com/api/v4/projects/47021553/terraform/state/$STATE_NAME" -backend-config="lock_address=https://gitlab.com/api/v4/projects/47021553/terraform/state/$STATE_NAME/lock" -backend-config="unlock_address=https://gitlab.com/api/v4/projects/47021553/terraform/state/$STATE_NAME/lock" -backend-config="username=XXXXXXXXXXXXX" -backend-config="password=$GITLAB_ACCESS_TOKEN" -backend-config="lock_method=POST" -backend-config="unlock_method=DELETE" -backend-config="retry_wait_min=5" - terraform apply -auto-approve -input=false rules: - if: '$CI_COMMIT_BRANCH =~ /^(main|production)$/' Staging Update App: stage: Staging Update App ............... Production Plan: stage: Production Plan ............. Production Apply: stage: Production Apply .......... Staging Destroy: stage: Destroy ............... Production Destroy: stage: Destroy ...............
What are some alternatives?
Catch - A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch)
wireguard-windows - Download WireGuard for Windows at https://www.wireguard.com/install . This repo is a mirror only. Official repository is at https://git.zx2c4.com/wireguard-windows
GAS-ssg - Gus' Awesome SSG
browser
conan - Conan - The open-source C and C++ package manager
charts
txt2html - Static Site Generator that converts .txt to .html
git-repo-sync - Auto synchronization of remote Git repositories. Auto conflict solving. Network fail resilience. Linux & Windows support. And more.
potato-generator
AppMan - Manage 1900+ AppImage packages and official standalone apps for GNU/Linux without root privileges using the extensible and ever-growing AUR-inspired database of "AM Application Manager". Easy to use like APT and powerful like PacMan.
gitlab-artwork
sim-card-auth-android - SIM Card Mobile Authentication Example for Android