From 1605c8ad50df15272be099d6489355e0c2abdb26 Mon Sep 17 00:00:00 2001 From: imcompiling Date: Sun, 12 Feb 2023 13:33:05 -0500 Subject: [PATCH 01/26] Add new view file. --- cogs/commands/view.py | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 cogs/commands/view.py diff --git a/cogs/commands/view.py b/cogs/commands/view.py new file mode 100644 index 0000000..949fe2b --- /dev/null +++ b/cogs/commands/view.py @@ -0,0 +1,3 @@ +""" +_summary_ +""" \ No newline at end of file From e4437cc65409213032d088ccf174d836fcbc3883 Mon Sep 17 00:00:00 2001 From: imcompiling Date: Fri, 10 Mar 2023 11:56:45 -0500 Subject: [PATCH 02/26] Correct the build scripts. --- build.sh => build_develop.sh | 4 ++-- build_release.sh | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) rename build.sh => build_develop.sh (83%) create mode 100644 build_release.sh diff --git a/build.sh b/build_develop.sh similarity index 83% rename from build.sh rename to build_develop.sh index e913cfe..47bbde2 100755 --- a/build.sh +++ b/build_develop.sh @@ -3,8 +3,8 @@ # this file is intended to build the docker image and push to the correct repository. Intended to be run by my buildbot instance. # first just build, tag, and push -docker build -t viker.cheezers.net:5000/agon:latest . -docker push viker.cheezers.net:5000/agon:latest +docker build -t viker.cheezers.net:5000/agon:develop . +docker push viker.cheezers.net:5000/agon:develop # check if there is a git tag. if so, tag with that tag and push again # expecting tag to be 6 characters long. otherwise isn't not the right tag diff --git a/build_release.sh b/build_release.sh new file mode 100644 index 0000000..e011e5f --- /dev/null +++ b/build_release.sh @@ -0,0 +1,16 @@ +#!/bin/bash -x + +# this file is intended to build the docker image and push to the correct repository. Intended to be run by my buildbot instance. + +# check if there is a git tag. if so, tag with that tag and release +# expecting tag to be 6 characters long. otherwise isn't not the right tag +GITTAG=$(git describe --tags) +length=${#GITTAG} + +if [ $length -eq 6 ]; then + docker build -t viker.cheezers.net:5000/agon:release -t viker.cheezers.net:5000/agon:$GITTAG . + docker push viker.cheezers.net:5000/agon:release iker.cheezers.net:5000/agon:$GITTAG +else + docker build -t viker.cheezers.net:5000/agon:release . + docker push viker.cheezers.net:5000/agon:release +fi \ No newline at end of file From 35cebdebce4ccd8f49e427221f212755579b9601 Mon Sep 17 00:00:00 2001 From: imcompiling Date: Fri, 10 Mar 2023 11:57:28 -0500 Subject: [PATCH 03/26] correct develop builder. --- build_develop.sh | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/build_develop.sh b/build_develop.sh index 47bbde2..abd2e50 100755 --- a/build_develop.sh +++ b/build_develop.sh @@ -2,16 +2,6 @@ # this file is intended to build the docker image and push to the correct repository. Intended to be run by my buildbot instance. -# first just build, tag, and push +# build, tag, and push develop docker build -t viker.cheezers.net:5000/agon:develop . -docker push viker.cheezers.net:5000/agon:develop - -# check if there is a git tag. if so, tag with that tag and push again -# expecting tag to be 6 characters long. otherwise isn't not the right tag -GITTAG=$(git describe --tags) -length=${#GITTAG} - -if [ $length -eq 6 ]; then - docker build -t viker.cheezers.net:5000/agon:$GITTAG . - docker push viker.cheezers.net:5000/agon:$GITTAG -fi \ No newline at end of file +docker push viker.cheezers.net:5000/agon:develop \ No newline at end of file From 44c2720f8033c9738a9e8eceb6e1a469dbecae52 Mon Sep 17 00:00:00 2001 From: imcompiling Date: Fri, 10 Mar 2023 12:17:58 -0500 Subject: [PATCH 04/26] Add new view file. --- cogs/commands/view.py | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 cogs/commands/view.py diff --git a/cogs/commands/view.py b/cogs/commands/view.py new file mode 100644 index 0000000..949fe2b --- /dev/null +++ b/cogs/commands/view.py @@ -0,0 +1,3 @@ +""" +_summary_ +""" \ No newline at end of file From 2864f342cce04c93610931930eab374b4c8f0dc1 Mon Sep 17 00:00:00 2001 From: imcompiling Date: Fri, 10 Mar 2023 16:01:54 -0500 Subject: [PATCH 05/26] need to push tags separately. --- build_release.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build_release.sh b/build_release.sh index e011e5f..80d9819 100644 --- a/build_release.sh +++ b/build_release.sh @@ -9,7 +9,8 @@ length=${#GITTAG} if [ $length -eq 6 ]; then docker build -t viker.cheezers.net:5000/agon:release -t viker.cheezers.net:5000/agon:$GITTAG . - docker push viker.cheezers.net:5000/agon:release iker.cheezers.net:5000/agon:$GITTAG + docker push viker.cheezers.net:5000/agon:release + docker push viker.cheezers.net:5000/agon:$GITTAG else docker build -t viker.cheezers.net:5000/agon:release . docker push viker.cheezers.net:5000/agon:release From ab721c16258d58b71716936d2a6f6caa7103d2eb Mon Sep 17 00:00:00 2001 From: imcompiling Date: Fri, 10 Mar 2023 16:27:40 -0500 Subject: [PATCH 06/26] create format_score_string function. --- utilities/utils.py | 51 +++++++++++++++++++++++++++++++++------------- 1 file changed, 37 insertions(+), 14 deletions(-) diff --git a/utilities/utils.py b/utilities/utils.py index be41bbb..074bf28 100644 --- a/utilities/utils.py +++ b/utilities/utils.py @@ -231,20 +231,12 @@ def format_highscore_message(session: Session, group: CategoryGroup) -> str: # add each score to list for ind in range(max_cat_size): # need to subtract to deal with category name string if ind in processed_group.index: - user_length = group.UsernameLength - username = processed_group["UserName"][ind][:user_length].ljust(user_length, " ") + username = processed_group["UserName"][ind] + score = processed_group["Score"][ind] - # get score, pad to correct length - if category.IsTimeRecord: - # MM:SS.ms is 7 characters long - # if there are single digit minutes, add a space for formatting. - score = get_time_str(processed_group["Score"][ind]) - if score.find(":") and len(score.split(":", maxsplit=1)[0]) < 2: - score = " " + score - else: - score = str(int(processed_group["Score"][ind])).rjust(7, " ") - - str_list[ind + 1] += f"{ind + 1}: {username} - {score}".ljust(pad_length, " ") + str_list[ind + 1] += format_score_string( + username, score, group.UsernameLength, group.IsTimeRecord, ind + 1, pad_length + ) else: # if not enough entries, pad out if ind + 1 <= category.Size: @@ -262,7 +254,6 @@ def format_highscore_message(session: Session, group: CategoryGroup) -> str: # need to use index to allow for modifying the list for ind, line in enumerate(str_list): if len(line) > MAX_LINE_LENGTH: - split_loc = int(MAX_LINE_LENGTH / pad_length) * pad_length new_line = line[split_loc:] str_list[ind] = line[:split_loc] @@ -283,6 +274,38 @@ def format_highscore_message(session: Session, group: CategoryGroup) -> str: return ret_string + "```" +def format_score_string( + username: str, score: float, username_length: int, is_time_record: bool, rank: int, pad_length: int +) -> str: + """ + Builds the string to show a user's score. + + Args: + username (str): username. + score (int): score in int form. + username_length (float): limit to how long username is allowed to be. + is_time_record (bool): if the score represents an number or a time record. + rank (int): the user's rank. + pad_length (int): limit to how long the string can be. + + Returns: + str: string to show user's score. + """ + username = username[:username_length].ljust(username_length, " ") + + # get score, pad to correct length + if is_time_record: + # MM:SS.ms is 7 characters long + # if there are single digit minutes, add a space for formatting. + score = get_time_str(score) + if score.find(":") and len(score.split(":", maxsplit=1)[0]) < 2: + score = " " + score + else: + score = str(int(score)).rjust(7, " ") + + return f"{rank}: {username} - {score}".ljust(pad_length, " ") + + def get_time_str(time_in: float) -> str: """ Formats a float value into the desired string format for a timestamp. From 2c9e9e246aa773efa0241196ef106159b151e0d1 Mon Sep 17 00:00:00 2001 From: imcompiling Date: Fri, 10 Mar 2023 17:37:59 -0500 Subject: [PATCH 07/26] Create view leaderboard command. --- cogs/commands/__init__.py | 2 + cogs/commands/view.py | 108 +++++++++++++++++++++++++++++++++++++- 2 files changed, 108 insertions(+), 2 deletions(-) diff --git a/cogs/commands/__init__.py b/cogs/commands/__init__.py index 05bb85d..21a0f0c 100644 --- a/cogs/commands/__init__.py +++ b/cogs/commands/__init__.py @@ -10,6 +10,7 @@ from .help import HelpCog from .refresh import RefreshCog from .set import SetCog from .update import UpdateCog +from .view import ViewCog # This function will be called when this extension is loaded. @@ -24,3 +25,4 @@ def setup(bot: commands.Bot): bot.add_cog(RefreshCog(bot)) bot.add_cog(SetCog()) bot.add_cog(UpdateCog(bot)) + bot.add_cog(ViewCog()) diff --git a/cogs/commands/view.py b/cogs/commands/view.py index 949fe2b..1be4000 100644 --- a/cogs/commands/view.py +++ b/cogs/commands/view.py @@ -1,3 +1,107 @@ """ -_summary_ -""" \ No newline at end of file +View command heirarchy. +""" + +import nextcord +import pandas as pd +from nextcord.ext import commands +from sqlalchemy import select +from sqlalchemy.orm import Session + +# pylint: disable=import-error +from utilities.sql_data_classes import Category, CategoryGroup, Score, engine +from utilities.utils import autofill_categories, autofill_groups, format_score_string + + +class ViewCog(commands.Cog, name="View Command"): + """ + Class holds commands for viewing data. + """ + + def __init__(self) -> None: + """ + Default constructor for ViewCog class. Does nothing. + """ + + @nextcord.slash_command() + async def view(self, interaction: nextcord.Interaction): + """ + Parent slash command for view. Never called. + """ + + @view.subcommand(description="Lists all scores for a given category.") + async def leaderboard( + self, + interaction: nextcord.Interaction, + group_id: str = nextcord.SlashOption( + name="group", description="Group to show leaderboard from.", required=True + ), + category_id: str = nextcord.SlashOption( + name="category", description="Category to show leaderboard.", required=True + ), + ): + """ + Gathers all users that have a submission in the group/category combo and returns a message with them + in ranked order. + + Args: + interaction (nextcord.Interaction): Interaction that invoked the command. + group_id (str): String representation of Group id to search from. Is SlashOption. + category_id (str): String representation of Category id to show leaderboard. Is SlashOption. + """ + str_list: "list[str]" = [] + + # get group, category, and all scores sorted correctly. + with Session(engine) as session: + stmt = select(CategoryGroup).where(CategoryGroup.GroupId == int(group_id)) + group = session.scalar(stmt) + + stmt = select(Category).where(Category.CategoryId == int(category_id)) + category = session.scalar(stmt) + + d_f = pd.read_sql_query( + sql=session.query(Score).where(Score.CategoryId == category_id).statement, con=engine + ) + + scores = d_f.sort_values("Score", ascending=category.IsAscending).reset_index() + + for i, row in scores.iterrows(): + str_list.append( + format_score_string( + row["UserName"], row["Score"], group.UsernameLength, category.IsTimeRecord, i + 1, group.PadLength + ) + ) + + message_str: str = f"**{group.GroupName} {category.CategoryName} Leaderboard!**\n" + if len(str_list) == 0: + message_str += "No Submissions!" + else: + for line in str_list: + message_str += f"{line}\n" + + await interaction.response.send_message(content=message_str) + + @leaderboard.on_autocomplete("group_id") + async def group_autocomplete(self, interaction: nextcord.Interaction, group_id: str): + """ + Autocomplete function for table names. + + Args: + interaction (nextcord.Interaction): Interaction that invoked the command. + group_id (str): String to be autocompleted with Group name. + """ + await interaction.response.send_autocomplete(autofill_groups(interaction.guild_id, group_id)) + + @leaderboard.on_autocomplete("category_id") + async def category_autocomplete(self, interaction: nextcord.Interaction, category_id: str, group_id: str): + """ + Autocomplete function for category names. + + Args: + interaction (nextcord.Interaction): Interaction that invoked the command. + category_id (str): String to be autocompleted with Category name. + group_id (str): Group to find Category from. + """ + await interaction.response.send_autocomplete( + autofill_categories(interaction.guild_id, int(group_id), category_id) + ) From 9c762fb346e35705e4cf28952243296886b555d3 Mon Sep 17 00:00:00 2001 From: imcompiling Date: Fri, 10 Mar 2023 17:56:49 -0500 Subject: [PATCH 08/26] Add on delete cascade to sql definition. --- highscores_database.sql | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/highscores_database.sql b/highscores_database.sql index 74dfc59..ae0a0f6 100644 --- a/highscores_database.sql +++ b/highscores_database.sql @@ -17,7 +17,7 @@ CREATE TABLE CategoryGroups( PadLength smallint not null DEFAULT 26, UsernameLength smallint DEFAULT 12, CONSTRAINT UniqueGuildCategoryGroup UNIQUE (GuildId, GroupName), - FOREIGN KEY (GuildId) REFERENCES Guilds(GuildId), + FOREIGN KEY (GuildId) REFERENCES Guilds(GuildId) ON DELETE CASCADE, PRIMARY KEY (GroupId) ); @@ -30,7 +30,7 @@ CREATE TABLE Categories( IsTimeRecord boolean not null DEFAULT false, IsValidated boolean not null DEFAULT true, CONSTRAINT UniqueCategoryInGroup UNIQUE (GroupId, CategoryName), - FOREIGN KEY (GroupId) REFERENCES CategoryGroups(GroupId), + FOREIGN KEY (GroupId) REFERENCES CategoryGroups(GroupId) ON DELETE CASCADE, PRIMARY Key (CategoryId) ); @@ -38,6 +38,6 @@ CREATE TABLE Scores( UserName varchar(30) not null, Score float not null, -- Maybe should have time and int scores?? timestamp type? CategoryId int unsigned not null, - FOREIGN KEY (CategoryId) REFERENCES Categories(CategoryId), + FOREIGN KEY (CategoryId) REFERENCES Categories(CategoryId) ON DELETE CASCADE, PRIMARY KEY (CategoryId, UserName) ); \ No newline at end of file From 37b4d2d62e9e014cfae61fcc98779ecbe780bb73 Mon Sep 17 00:00:00 2001 From: imcompiling Date: Sat, 11 Mar 2023 15:12:36 -0500 Subject: [PATCH 09/26] correct usage of format_score_string. Make format of view message better. --- cogs/commands/view.py | 11 ++++++++--- utilities/utils.py | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/cogs/commands/view.py b/cogs/commands/view.py index 1be4000..148abe9 100644 --- a/cogs/commands/view.py +++ b/cogs/commands/view.py @@ -10,7 +10,7 @@ from sqlalchemy.orm import Session # pylint: disable=import-error from utilities.sql_data_classes import Category, CategoryGroup, Score, engine -from utilities.utils import autofill_categories, autofill_groups, format_score_string +from utilities.utils import MAX_LINE_LENGTH, autofill_categories, autofill_groups, format_score_string class ViewCog(commands.Cog, name="View Command"): @@ -65,20 +65,25 @@ class ViewCog(commands.Cog, name="View Command"): scores = d_f.sort_values("Score", ascending=category.IsAscending).reset_index() + # get the longest string + longest_str: int = scores.UserName.map(len).max() + for i, row in scores.iterrows(): str_list.append( format_score_string( - row["UserName"], row["Score"], group.UsernameLength, category.IsTimeRecord, i + 1, group.PadLength + row["UserName"], row["Score"], longest_str, category.IsTimeRecord, i + 1, MAX_LINE_LENGTH ) ) - message_str: str = f"**{group.GroupName} {category.CategoryName} Leaderboard!**\n" + message_str: str = f"**{group.GroupName} {category.CategoryName} Leaderboard!**\n```" if len(str_list) == 0: message_str += "No Submissions!" else: for line in str_list: message_str += f"{line}\n" + message_str += "```" + await interaction.response.send_message(content=message_str) @leaderboard.on_autocomplete("group_id") diff --git a/utilities/utils.py b/utilities/utils.py index 074bf28..0ade38c 100644 --- a/utilities/utils.py +++ b/utilities/utils.py @@ -235,7 +235,7 @@ def format_highscore_message(session: Session, group: CategoryGroup) -> str: score = processed_group["Score"][ind] str_list[ind + 1] += format_score_string( - username, score, group.UsernameLength, group.IsTimeRecord, ind + 1, pad_length + username, score, group.UsernameLength, category.IsTimeRecord, ind + 1, pad_length ) else: # if not enough entries, pad out From 148ba253cfa6657ac4372a47c98e86fd646e8d12 Mon Sep 17 00:00:00 2001 From: imcompiling Date: Tue, 21 Mar 2023 21:53:04 -0400 Subject: [PATCH 10/26] Add build_develop workflow. --- .gitea/workflows/build_develop.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 .gitea/workflows/build_develop.yml diff --git a/.gitea/workflows/build_develop.yml b/.gitea/workflows/build_develop.yml new file mode 100644 index 0000000..9192803 --- /dev/null +++ b/.gitea/workflows/build_develop.yml @@ -0,0 +1,16 @@ +name: build_develop + +on: + push: + branches: [develop] + +jobs: + build_develop: + runs-on: docker:dind + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - run: git fetch --force --tags + - run: docker build -t viker.cheezers.net:5000/agon:develop . + - run: docker push viker.cheezers.net:5000/agon:develop From a95fca40f981358f93c8f2a9d242e24970d16592 Mon Sep 17 00:00:00 2001 From: imcompiling Date: Tue, 21 Mar 2023 22:06:46 -0400 Subject: [PATCH 11/26] add demo workflow --- .gitea/workflows/demo.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .gitea/workflows/demo.yml diff --git a/.gitea/workflows/demo.yml b/.gitea/workflows/demo.yml new file mode 100644 index 0000000..e007988 --- /dev/null +++ b/.gitea/workflows/demo.yml @@ -0,0 +1,18 @@ +name: GitHub Actions Demo +run-name: ${{ github.actor }} is testing out GitHub Actions 🚀 +on: [push] +jobs: + Explore-GitHub-Actions: + runs-on: ubuntu-latest + steps: + - run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event." + - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!" + - run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}." + - name: Check out repository code + uses: actions/checkout@v3 + - run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner." + - run: echo "🖥️ The workflow is now ready to test your code on the runner." + - name: List files in the repository + run: | + ls ${{ github.workspace }} + - run: echo "🍏 This job's status is ${{ job.status }}." From 7647c355af2bccc99b483249c477b7e97476136c Mon Sep 17 00:00:00 2001 From: imcompiling Date: Wed, 22 Mar 2023 18:56:20 -0400 Subject: [PATCH 12/26] Change runs-on, use action to build docker image. --- .gitea/workflows/build_develop.yml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/build_develop.yml b/.gitea/workflows/build_develop.yml index 9192803..391ca16 100644 --- a/.gitea/workflows/build_develop.yml +++ b/.gitea/workflows/build_develop.yml @@ -5,12 +5,16 @@ on: branches: [develop] jobs: - build_develop: - runs-on: docker:dind + build: + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - name: Checkout Code + uses: actions/checkout@v3 with: fetch-depth: 0 - - run: git fetch --force --tags - - run: docker build -t viker.cheezers.net:5000/agon:develop . - - run: docker push viker.cheezers.net:5000/agon:develop + - name: Build and push to viker registry + uses: docker/build-push-action@v4 + with: + context: . + push: true + tags: viker.cheezers.net:5000/agon:develop From 5448f2a426ea9196424019ef683f8efa7de7bd99 Mon Sep 17 00:00:00 2001 From: imcompiling Date: Wed, 22 Mar 2023 19:11:22 -0400 Subject: [PATCH 13/26] delete unneeded files. --- .gitea/workflows/demo.yml | 18 ------------------ build_develop.sh | 7 ------- build_release.sh | 17 ----------------- 3 files changed, 42 deletions(-) delete mode 100644 .gitea/workflows/demo.yml delete mode 100755 build_develop.sh delete mode 100644 build_release.sh diff --git a/.gitea/workflows/demo.yml b/.gitea/workflows/demo.yml deleted file mode 100644 index e007988..0000000 --- a/.gitea/workflows/demo.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: GitHub Actions Demo -run-name: ${{ github.actor }} is testing out GitHub Actions 🚀 -on: [push] -jobs: - Explore-GitHub-Actions: - runs-on: ubuntu-latest - steps: - - run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event." - - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!" - - run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}." - - name: Check out repository code - uses: actions/checkout@v3 - - run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner." - - run: echo "🖥️ The workflow is now ready to test your code on the runner." - - name: List files in the repository - run: | - ls ${{ github.workspace }} - - run: echo "🍏 This job's status is ${{ job.status }}." diff --git a/build_develop.sh b/build_develop.sh deleted file mode 100755 index abd2e50..0000000 --- a/build_develop.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -x - -# this file is intended to build the docker image and push to the correct repository. Intended to be run by my buildbot instance. - -# build, tag, and push develop -docker build -t viker.cheezers.net:5000/agon:develop . -docker push viker.cheezers.net:5000/agon:develop \ No newline at end of file diff --git a/build_release.sh b/build_release.sh deleted file mode 100644 index 80d9819..0000000 --- a/build_release.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -x - -# this file is intended to build the docker image and push to the correct repository. Intended to be run by my buildbot instance. - -# check if there is a git tag. if so, tag with that tag and release -# expecting tag to be 6 characters long. otherwise isn't not the right tag -GITTAG=$(git describe --tags) -length=${#GITTAG} - -if [ $length -eq 6 ]; then - docker build -t viker.cheezers.net:5000/agon:release -t viker.cheezers.net:5000/agon:$GITTAG . - docker push viker.cheezers.net:5000/agon:release - docker push viker.cheezers.net:5000/agon:$GITTAG -else - docker build -t viker.cheezers.net:5000/agon:release . - docker push viker.cheezers.net:5000/agon:release -fi \ No newline at end of file From 2e681be6908e2215a19fb2862654fb2e4cbecca6 Mon Sep 17 00:00:00 2001 From: imcompiling Date: Wed, 22 Mar 2023 19:12:03 -0400 Subject: [PATCH 14/26] try adding buildx to fix missing token. --- .gitea/workflows/build_develop.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/build_develop.yml b/.gitea/workflows/build_develop.yml index 391ca16..ba077c1 100644 --- a/.gitea/workflows/build_develop.yml +++ b/.gitea/workflows/build_develop.yml @@ -1,8 +1,9 @@ name: build_develop -on: - push: - branches: [develop] +on: [push] +# commenting out develop push while testing workflow +# push: +# branches: [develop] jobs: build: @@ -12,6 +13,8 @@ jobs: uses: actions/checkout@v3 with: fetch-depth: 0 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 - name: Build and push to viker registry uses: docker/build-push-action@v4 with: From 6c1505685ba9b76b19b3ffc4a24fe332b8754d19 Mon Sep 17 00:00:00 2001 From: imcompiling Date: Wed, 22 Mar 2023 19:15:15 -0400 Subject: [PATCH 15/26] correct http url, try again without buildx. --- .gitea/workflows/build_develop.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/build_develop.yml b/.gitea/workflows/build_develop.yml index ba077c1..963c2b7 100644 --- a/.gitea/workflows/build_develop.yml +++ b/.gitea/workflows/build_develop.yml @@ -13,11 +13,11 @@ jobs: uses: actions/checkout@v3 with: fetch-depth: 0 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v2 - name: Build and push to viker registry uses: docker/build-push-action@v4 with: context: . push: true - tags: viker.cheezers.net:5000/agon:develop + tags: http://viker.cheezers.net:5000/agon:develop From 106b394c44e87fe9cbdf0d02d44b3f89bb04a16b Mon Sep 17 00:00:00 2001 From: imcompiling Date: Wed, 22 Mar 2023 19:16:54 -0400 Subject: [PATCH 16/26] Need buildx, don't understand why. --- .gitea/workflows/build_develop.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/build_develop.yml b/.gitea/workflows/build_develop.yml index 963c2b7..315dbb7 100644 --- a/.gitea/workflows/build_develop.yml +++ b/.gitea/workflows/build_develop.yml @@ -13,8 +13,8 @@ jobs: uses: actions/checkout@v3 with: fetch-depth: 0 - # - name: Set up Docker Buildx - # uses: docker/setup-buildx-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 - name: Build and push to viker registry uses: docker/build-push-action@v4 with: From ac11f3e46252ca8f61bb2faff28bf0445a3e4d3a Mon Sep 17 00:00:00 2001 From: imcompiling Date: Wed, 22 Mar 2023 19:22:18 -0400 Subject: [PATCH 17/26] try localhost for repo. --- .gitea/workflows/build_develop.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/build_develop.yml b/.gitea/workflows/build_develop.yml index 315dbb7..ad67089 100644 --- a/.gitea/workflows/build_develop.yml +++ b/.gitea/workflows/build_develop.yml @@ -20,4 +20,4 @@ jobs: with: context: . push: true - tags: http://viker.cheezers.net:5000/agon:develop + tags: localhost:5000/agon:develop From eaa342d47998e83854dd9b83698e2a7a57de18f6 Mon Sep 17 00:00:00 2001 From: imcompiling Date: Wed, 22 Mar 2023 19:34:27 -0400 Subject: [PATCH 18/26] try with docker commands instead of action. --- .gitea/workflows/build_develop.yml | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/.gitea/workflows/build_develop.yml b/.gitea/workflows/build_develop.yml index ad67089..cf7a611 100644 --- a/.gitea/workflows/build_develop.yml +++ b/.gitea/workflows/build_develop.yml @@ -13,11 +13,13 @@ jobs: uses: actions/checkout@v3 with: fetch-depth: 0 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - name: Build and push to viker registry - uses: docker/build-push-action@v4 - with: - context: . - push: true - tags: localhost:5000/agon:develop + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v2 + # - name: Build and push to viker registry + # uses: docker/build-push-action@v4 + # with: + # context: . + # push: true + # tags: viker.cheezers.net:5000/agon:develop + - run: docker build -t viker.cheezers.net:5000/agon:develop . + - run: docker push viker.cheezers.net:5000/agon:develop From e6f3fcb604dfe3a8deebd8bcc3ce2dc068eb9f41 Mon Sep 17 00:00:00 2001 From: imcompiling Date: Wed, 22 Mar 2023 19:35:11 -0400 Subject: [PATCH 19/26] maybe need buildx to set up docker --- .gitea/workflows/build_develop.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/build_develop.yml b/.gitea/workflows/build_develop.yml index cf7a611..9ddb48f 100644 --- a/.gitea/workflows/build_develop.yml +++ b/.gitea/workflows/build_develop.yml @@ -13,8 +13,8 @@ jobs: uses: actions/checkout@v3 with: fetch-depth: 0 - # - name: Set up Docker Buildx - # uses: docker/setup-buildx-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 # - name: Build and push to viker registry # uses: docker/build-push-action@v4 # with: From 13f5bc0aabe8ff9ddc80e19494b325af5da8d2d0 Mon Sep 17 00:00:00 2001 From: imcompiling Date: Wed, 22 Mar 2023 21:47:28 -0400 Subject: [PATCH 20/26] try https url --- .gitea/workflows/build_develop.yml | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/.gitea/workflows/build_develop.yml b/.gitea/workflows/build_develop.yml index 9ddb48f..872c257 100644 --- a/.gitea/workflows/build_develop.yml +++ b/.gitea/workflows/build_develop.yml @@ -15,11 +15,13 @@ jobs: fetch-depth: 0 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - # - name: Build and push to viker registry - # uses: docker/build-push-action@v4 - # with: - # context: . - # push: true - # tags: viker.cheezers.net:5000/agon:develop - - run: docker build -t viker.cheezers.net:5000/agon:develop . - - run: docker push viker.cheezers.net:5000/agon:develop + - name: Build and push to viker registry + uses: docker/build-push-action@v4 + with: + context: . + push: true + tags: registry.cheezers.net/agon:develop + + # docker isn't installed?? + # - run: docker build -t viker.cheezers.net:5000/agon:develop . + # - run: docker push viker.cheezers.net:5000/agon:develop From ddf319b9d5eeec4c3a90596fd543fe01dd8158fb Mon Sep 17 00:00:00 2001 From: imcompiling Date: Wed, 22 Mar 2023 22:27:05 -0400 Subject: [PATCH 21/26] Install docker onto image. --- .gitea/workflows/build_develop.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/build_develop.yml b/.gitea/workflows/build_develop.yml index 872c257..5e76305 100644 --- a/.gitea/workflows/build_develop.yml +++ b/.gitea/workflows/build_develop.yml @@ -13,15 +13,11 @@ jobs: uses: actions/checkout@v3 with: fetch-depth: 0 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + - name: Install Docker + uses: https://github/papodaca/install-docker-action@v1 - name: Build and push to viker registry uses: docker/build-push-action@v4 with: context: . push: true tags: registry.cheezers.net/agon:develop - - # docker isn't installed?? - # - run: docker build -t viker.cheezers.net:5000/agon:develop . - # - run: docker push viker.cheezers.net:5000/agon:develop From 0513df944f7d219be974478c71d3f11550a3a09b Mon Sep 17 00:00:00 2001 From: imcompiling Date: Wed, 22 Mar 2023 22:31:42 -0400 Subject: [PATCH 22/26] correct github address. --- .gitea/workflows/build_develop.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/build_develop.yml b/.gitea/workflows/build_develop.yml index 5e76305..7a9c33f 100644 --- a/.gitea/workflows/build_develop.yml +++ b/.gitea/workflows/build_develop.yml @@ -14,7 +14,7 @@ jobs: with: fetch-depth: 0 - name: Install Docker - uses: https://github/papodaca/install-docker-action@v1 + uses: https://github.com/papodaca/install-docker-action@v1 - name: Build and push to viker registry uses: docker/build-push-action@v4 with: From 2f8958835815f780757e91a55952cc419d0b5253 Mon Sep 17 00:00:00 2001 From: imcompiling Date: Wed, 22 Mar 2023 23:14:15 -0400 Subject: [PATCH 23/26] Don't use action due to using local repo. --- .gitea/workflows/build_develop.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/build_develop.yml b/.gitea/workflows/build_develop.yml index 7a9c33f..fce8471 100644 --- a/.gitea/workflows/build_develop.yml +++ b/.gitea/workflows/build_develop.yml @@ -15,9 +15,7 @@ jobs: fetch-depth: 0 - name: Install Docker uses: https://github.com/papodaca/install-docker-action@v1 - - name: Build and push to viker registry - uses: docker/build-push-action@v4 - with: - context: . - push: true - tags: registry.cheezers.net/agon:develop + - name: Build Docker Image + run: docker build -t viker.cheezers.net:5000/agon:develop . + - name: Push Docker Image + run: docker push viker.cheezers.net:5000/agon:develop From 3b49a6ec2a4a04517cb99f7773f03f5d8e644e4b Mon Sep 17 00:00:00 2001 From: imcompiling Date: Wed, 22 Mar 2023 23:25:26 -0400 Subject: [PATCH 24/26] Change workflow back to develop branch. --- .gitea/workflows/build_develop.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/build_develop.yml b/.gitea/workflows/build_develop.yml index fce8471..62a8f8d 100644 --- a/.gitea/workflows/build_develop.yml +++ b/.gitea/workflows/build_develop.yml @@ -1,9 +1,8 @@ name: build_develop on: [push] -# commenting out develop push while testing workflow -# push: -# branches: [develop] + push: + branches: [develop] jobs: build: From 3860e7457979f2f5e485bebabe582f1221287469 Mon Sep 17 00:00:00 2001 From: imcompiling Date: Thu, 23 Mar 2023 09:09:41 -0400 Subject: [PATCH 25/26] Change to operate on the main branch. No need for dev branch. --- .gitea/workflows/build_develop.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/build_develop.yml b/.gitea/workflows/build_develop.yml index 62a8f8d..b52f4b5 100644 --- a/.gitea/workflows/build_develop.yml +++ b/.gitea/workflows/build_develop.yml @@ -2,7 +2,7 @@ name: build_develop on: [push] push: - branches: [develop] + branches: [main] jobs: build: From 3ddfdfe9b04a938ac87ebbe3d0be626a85edc680 Mon Sep 17 00:00:00 2001 From: imcompiling Date: Thu, 23 Mar 2023 09:16:01 -0400 Subject: [PATCH 26/26] Add release workflow. --- .gitea/workflows/build_release.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 .gitea/workflows/build_release.yml diff --git a/.gitea/workflows/build_release.yml b/.gitea/workflows/build_release.yml new file mode 100644 index 0000000..87c12cd --- /dev/null +++ b/.gitea/workflows/build_release.yml @@ -0,0 +1,22 @@ +name: build_release + +on: [push] + push: + tags: ['*'] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout Code + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Install Docker + uses: https://github.com/papodaca/install-docker-action@v1 + - name: Build Docker Images + run: docker build -t viker.cheezers.net:5000/agon:latest -t viker.cheezers.net:5000/agon:${{env.BRANCH_TAG}} . + - name: Push Latest Image + run: docker push viker.cheezers.net:5000/agon:latest + - name: Push Tagged Image + run: docker push viker.cheezers.net:5000/agon:${{env.BRANCH_TAG}}