From 95a83a857644fca151e9c5b514e8f73a97562864 Mon Sep 17 00:00:00 2001 From: Anthony Date: Wed, 18 Feb 2026 11:24:58 -0800 Subject: [PATCH 1/7] Added github workflow with actions.yml --- .github/workflows/actions.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .github/workflows/actions.yml diff --git a/.github/workflows/actions.yml b/.github/workflows/actions.yml new file mode 100644 index 0000000..c0b9b24 --- /dev/null +++ b/.github/workflows/actions.yml @@ -0,0 +1,23 @@ +name: Build C++ + +on: + push: + branches: "devops" + pull_request: + branches: [ main ] + +jobs: + install: + runs-on: ubuntu-latest + steps: + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y -f build-essential g++ cmake + build: + needs: install + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Build project + run: g++ -std=c++17 main.cpp From 5f6adec95ca98c7bd5300b1109abeb9ab65e296f Mon Sep 17 00:00:00 2001 From: Anthony Date: Wed, 18 Feb 2026 11:46:56 -0800 Subject: [PATCH 2/7] Added github workflow and fixed main.cpp bug --- a.out | Bin 0 -> 34648 bytes main.cpp | 23 ++++++++++++----------- 2 files changed, 12 insertions(+), 11 deletions(-) create mode 100755 a.out mode change 100644 => 100755 main.cpp diff --git a/a.out b/a.out new file mode 100755 index 0000000000000000000000000000000000000000..8bc10fa47d188808b96d529bcf3d38d743f9267b GIT binary patch literal 34648 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 #include #include +#include +#include +using namespace std; using std::cout; using std::cin; using std::endl; @@ -13,8 +16,6 @@ using std::transform; const vector VALIDATION = {"Cool","Great","Perfect","Beautiful","Aw, yeah"}; -string get_input_in_lowercase(); - int main(){ string input; int pick; @@ -22,22 +23,22 @@ int main(){ srand(time(0)); pick = rand() % VALIDATION.size(); cout << "What are you listening to?\n"; - input = get_input_in_lowercase(); + getline(cin,input); + transform(input.begin(), input.end(), input.begin(), [](unsigned char c){ return std::tolower(c); }); + if (input == "nothing"){ + return 0; + } else { + cout << "Nothing? That's not very good for you.\n"; + } cout << VALIDATION[pick] << "! Let's listen to more\n"; do{ cout << "What's next?\n"; - input = get_input_in_lowercase(); + getline(cin,input); + transform(input.begin(), input.end(), input.begin(), [](unsigned char c){ return std::tolower(c); }); pick = rand() % VALIDATION.size(); cout << VALIDATION[pick] << "!\n"; }while( input != "nothing" ); return 0; } - -string get_input_in_lowercase(){ - string in; - getline(cin,in); - transform(in.begin(), in.end(), in.begin(), [](unsigned char c){ return std::tolower(c); }); - return in; -} \ No newline at end of file From 8041499063d70d126a302554632fbd01637f72d1 Mon Sep 17 00:00:00 2001 From: Anthony Date: Wed, 18 Feb 2026 11:58:17 -0800 Subject: [PATCH 3/7] Added Status badge --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index bbcf55a..975d175 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # autovalidate +[![Build Status](https://github.com/DilyCantCode/autovalidate/actions/workflows/actions.yml/badge.svg?branch=main)](https://github.com/DilyCantCode/autovalidate/actions) + I like that app too! -This repo is compatible with the [cpp-container docker container](https://github.com/ChicoState/cpp-container). \ No newline at end of file +This repo is compatible with the [cpp-container docker container](https://github.com/ChicoState/cpp-container). From 1ba9904285fcbcbb55ae646c8d31189dad23e3ef Mon Sep 17 00:00:00 2001 From: Anthony Date: Wed, 18 Feb 2026 12:08:25 -0800 Subject: [PATCH 4/7] Added .gitignore for best practices --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a85cd0c --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +a.out +*.out From c427fc48437fac9ab48704da9a70d5f371d34f23 Mon Sep 17 00:00:00 2001 From: Anthony Date: Wed, 18 Feb 2026 12:15:08 -0800 Subject: [PATCH 5/7] Fixed Status Badge error --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 975d175..8c1b9eb 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # autovalidate -[![Build Status](https://github.com/DilyCantCode/autovalidate/actions/workflows/actions.yml/badge.svg?branch=main)](https://github.com/DilyCantCode/autovalidate/actions) +[![Build C++](https://github.com/DilyCantCode/autovalidate/actions/workflows/actions.yml/badge.svg)](https://github.com/DilyCantCode/autovalidate/actions/workflows/actions.yml) I like that app too! From 7a6c7d86ad380f7c0f4a6f1dcd444cac60c4e9e1 Mon Sep 17 00:00:00 2001 From: DilyCantCode <109247203+DilyCantCode@users.noreply.github.com> Date: Wed, 18 Feb 2026 12:19:48 -0800 Subject: [PATCH 6/7] Update actions.yml to include correct name branch --- .github/workflows/actions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/actions.yml b/.github/workflows/actions.yml index c0b9b24..4eb8e12 100644 --- a/.github/workflows/actions.yml +++ b/.github/workflows/actions.yml @@ -2,7 +2,7 @@ name: Build C++ on: push: - branches: "devops" + branches: "anthonybranch" pull_request: branches: [ main ] From fffbeb8efb7d8dcbfe63149e7ca855804c4c53d9 Mon Sep 17 00:00:00 2001 From: Anthony Date: Wed, 18 Feb 2026 12:21:40 -0800 Subject: [PATCH 7/7] Removed a.out from anthonybranch to clean --- a.out | Bin 34648 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 a.out diff --git a/a.out b/a.out deleted file mode 100755 index 8bc10fa47d188808b96d529bcf3d38d743f9267b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34648 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