diff --git a/.env b/.env index 737eba0c..457f9882 100755 --- a/.env +++ b/.env @@ -40,7 +40,7 @@ BACKEND_HOSTNAME=shuffle-backend BACKEND_PORT=5001 FRONTEND_PORT=3001 FRONTEND_PORT_HTTPS=3443 -AUTH_FOR_ORBORUS = +AUTH_FOR_ORBORUS= # CHANGE THIS IF YOU WANT GOOD LOCAL EXECUTIONS: OUTER_HOSTNAME=shuffle-backend diff --git a/.github/install-guide.md b/.github/install-guide.md index b3282ce1..5233ff47 100755 --- a/.github/install-guide.md +++ b/.github/install-guide.md @@ -35,7 +35,7 @@ sudo swapoff -a # Disable swap 4. Run docker-compose. ```bash -docker compose up -d +docker-compose up -d ``` 5. Recommended for Opensearch to work well diff --git a/.github/workflows/.github/workflows/helm.yml b/.github/workflows/.github/workflows/helm.yml deleted file mode 100644 index c3a6657a..00000000 --- a/.github/workflows/.github/workflows/helm.yml +++ /dev/null @@ -1,41 +0,0 @@ - -name: helm - -on: - workflow_dispatch: - push: - branches: - - main - paths: - - "charts/**" - -permissions: - contents: read - packages: write - -jobs: - main: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Install apt dependencies - run: | - curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null - sudo apt-get install apt-transport-https -y --no-install-recommends - echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list - sudo apt-get update - sudo apt-get install helm -y --no-install-recommends - - - name: Update helm dependencies - run: helm dependency update ./charts/shuffle - - - name: Package Helm chart - run: helm package ./charts/shuffle --destination ./charts - - - name: Login to OCI registry (ghcr.io) - run: helm registry login ghcr.io --username ${{ github.actor }} --password ${{ secrets.GITHUB_TOKEN }} - - - name: Push helm chart - run: helm push ./charts/shuffle-*.tgz oci://ghcr.io/shuffle/shuffle/charts diff --git a/.github/workflows/dockerbuild.yaml b/.github/workflows/dockerbuild.yaml index a04e87bd..570c21f1 100644 --- a/.github/workflows/dockerbuild.yaml +++ b/.github/workflows/dockerbuild.yaml @@ -4,7 +4,7 @@ on: workflow_dispatch: push: branches: - - nightly + - main paths: - "**" - "!.github/**" @@ -20,19 +20,19 @@ jobs: include: - app: frontend path: frontend - version: nightly + version: latest experimental: true - app: backend path: backend - version: nightly + version: latest experimental: true - app: orborus path: functions/onprem/orborus - version: nightly + version: latest experimental: true - app: worker path: functions/onprem/worker - version: nightly + version: latest experimental: true steps: - name: Checkout diff --git a/.github/workflows/helm-release.yml b/.github/workflows/helm-release.yml new file mode 100644 index 00000000..e365080e --- /dev/null +++ b/.github/workflows/helm-release.yml @@ -0,0 +1,71 @@ +name: Helm Release + +on: + release: + types: [published] + branches: + - main + - nightly + push: + branches: + - nightly + paths: + - "functions/kubernetes/charts/**" + workflow_dispatch: + +permissions: + contents: read + packages: write + +jobs: + main: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Install apt dependencies + run: | + curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null + sudo apt-get install apt-transport-https -y --no-install-recommends + echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list + sudo apt-get update + sudo apt-get install helm -y --no-install-recommends + + - name: Set versions + id: set_versions + run: | + if [[ ${{ github.event_name }} == 'release' ]]; then + CHART_VERSION="${{ github.event.release.tag_name }}" + APP_VERSION="${{ github.event.release.tag_name }}" + else + CHART_VERSION="0.0.0-nightly-untagged-latest" + APP_VERSION="nightly" + fi + + echo "CHART_VERSION set to ${CHART_VERSION}. Validating..." + + # https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string + SEMVER_REGEX="^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$" + + if echo "${CHART_VERSION}" | grep -Pq "${SEMVER_REGEX}"; then + echo "${CHART_VERSION} is a valid SemVer string"; + else + echo "${CHART_VERSION} is an invalid SemVer string"; + exit 1; + fi + + echo "CHART_VERSION=${CHART_VERSION}" >> $GITHUB_OUTPUT + echo "APP_VERSION=${APP_VERSION}" >> $GITHUB_OUTPUT + + - name: Update helm dependencies + run: helm dependency update ./functions/kubernetes/charts/shuffle + + - name: Package Helm chart + run: helm package ./functions/kubernetes/charts/shuffle --version "${CHART_VERSION}" --app-version="${APP_VERSION}" --destination ./functions/kubernetes/charts + + - name: Login to OCI registry (ghcr.io) + run: helm registry login ghcr.io --username ${{ github.actor }} --password ${{ secrets.GITHUB_TOKEN }} + + - name: Push helm chart + run: helm push ./functions/kubernetes/charts/shuffle-*.tgz oci://ghcr.io/shuffle/shuffle/charts diff --git a/.github/workflows/nightly-release.yaml b/.github/workflows/nightly-release.yaml index 228d8d5a..b66f9559 100644 --- a/.github/workflows/nightly-release.yaml +++ b/.github/workflows/nightly-release.yaml @@ -3,6 +3,7 @@ on: release: types: [published] branches: + - main - nightly jobs: @@ -19,9 +20,6 @@ jobs: - app: backend path: backend experimental: true - - app: app_sdk - path: backend/app_sdk - experimental: true - app: orborus path: functions/onprem/orborus experimental: true diff --git a/.github/workflows/quick-testing.yml b/.github/workflows/quick-testing.yml index 37487a5f..13d2c89e 100644 --- a/.github/workflows/quick-testing.yml +++ b/.github/workflows/quick-testing.yml @@ -6,6 +6,7 @@ on: types: - completed workflow_dispatch: + workflow_dispatch: jobs: build: @@ -29,7 +30,7 @@ jobs: run: chmod -R 777 shuffle-database - name: Build the stack - run: docker-compose up -d + run: docker compose up -d - name: Wait for 30 seconds run: sleep 30 diff --git a/README.md b/README.md index b90944bf..f74a7691 100755 --- a/README.md +++ b/README.md @@ -4,10 +4,6 @@ Shuffle Automation -[](https://github.com/Shuffle/Shuffle/actions/workflows/codeql-analysis.yml) -[](https://github.com/Shuffle/Shuffle/actions/workflows/dockerbuild.yaml) -[](https://console.aws.amazon.com/cloudformation/home?#/stacks/new?stackName=Shuffle-Instance&templateURL=https://shuffle-public-amis.s3.eu-north-1.amazonaws.com/template.yaml) -