diff --git a/.github/workflows/daily-alpha.yml b/.github/workflows/daily-alpha.yml
new file mode 100644
index 0000000000..803be0407b
--- /dev/null
+++ b/.github/workflows/daily-alpha.yml
@@ -0,0 +1,103 @@
+name: Release daily alpha
+on:
+ schedule:
+ - cron: 0 0 30 * 1-5 # At 12:30am UTC work day
+ workflow_dispatch: # for testing
+jobs:
+ tag:
+ outputs:
+ tagname: v${{ steps.version.outputs.VERSION }}
+ version: ${{ steps.version.outputs.VERSION }}
+ continue: ${{ steps.create-branch.outputs.CONTINUE }}
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: Setup Node.js
+ uses: actions/setup-node@v3
+ with:
+ node-version: "16.x"
+ registry-url: "https://npm.pkg.github.com"
+
+ - name: Install deps
+ run: |
+ npm i --location=global semver
+ npm install
+
+ sudo apt-get install -y ripgrep
+ env:
+ NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ - name: Bump version
+ id: version
+ run: npm run bump-version-for-cron
+ - name: Check if branch already exists
+ id: check-branch
+ run: git ls-remote --exit-code --tags origin v${{ steps.version.outputs.VERSION }}
+ continue-on-error: true
+ - name: Create branch and tag and push
+ id: create-branch
+ run: |
+ # failure means that the tag doesn't exist so we should create it
+ if [ ${{ steps.check-branch.outcome }} != 'failure' ]; then
+ echo "CONTINUE=false" >> "$GITHUB_OUTPUT"
+ exit 0
+ fi
+
+ git config --global user.email "bot@k8slens.dev"
+ git config --global user.name "k8slens bot"
+
+ git checkout -b release/v${{ steps.version.outputs.VERSION }}
+ git add .
+ git commit -sm "Release ${{ steps.version.outputs.VERSION }}"
+ git tag v${{ steps.version.outputs.VERSION }}
+ git push origin v${{ steps.version.outputs.VERSION }}
+ echo "CONTINUE=true" >> "$GITHUB_OUTPUT"
+ create_release:
+ outputs:
+ upload_url: ${{ steps.create_release.outputs.upload_url }}
+ version: ${{ needs.tag.outputs.version }}
+ needs: [tag]
+ if: ${{ needs.tag.outputs.continue == 'true' }}
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Create GitHub release
+ uses: softprops/action-gh-release@v1
+ id: create_release
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ with:
+ tag_name: ${{ needs.tag.outputs.tagname }}
+ name: ${{ needs.tag.outputs.tagname }}
+ generate_release_notes: true
+ prerelease: true
+ release_packages:
+ needs: [create_release]
+ runs-on: ubuntu-20.04
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ ref: v${{ needs.create_release.outputs.version }}
+ - name: Use Node.js ${{ env.NODE_VERSION }}
+ uses: actions/setup-node@v3
+ with:
+ node-version: "16.x"
+ cache: "npm"
+ registry-url: "https://npm.pkg.github.com"
+ - name: Build package
+ shell: bash
+ run: |
+ yarn install --frozen-lockfile
+ yarn run build
+ env:
+ NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ - name: Release to GitHub NPM registry
+ run: |
+ npm config set '//registry.npmjs.org/:_authToken' "${NPM_TOKEN}"
+ yarn lerna \
+ publish from-package \
+ --no-push \
+ --no-git-tag-version \
+ --yes \
+ --dist-tag cron
+ env:
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
diff --git a/.github/workflows/publish-master-npm.yml b/.github/workflows/publish-master-npm.yml
deleted file mode 100644
index 464e2adbe7..0000000000
--- a/.github/workflows/publish-master-npm.yml
+++ /dev/null
@@ -1,38 +0,0 @@
-name: Publish NPM Package `master`
-on:
- pull_request:
- types:
- - closed
-concurrency:
- group: publish-master-npm
- cancel-in-progress: true
-jobs:
- publish:
- name: Publish Extensions NPM Package `master`
- runs-on: ubuntu-latest
- if: ${{ github.event.pull_request.merged == true && contains(github.event.pull_request.labels.*.name, 'area/extension') }}
- strategy:
- matrix:
- node-version: [16.x]
- steps:
- - name: Checkout Release
- uses: actions/checkout@v3
- with:
- fetch-depth: 0
-
- - name: Using Node.js ${{ matrix.node-version }}
- uses: actions/setup-node@v3
- with:
- node-version: ${{ matrix.node-version }}
-
- - name: Generate NPM packages
- run: |
- yarn install --frozen-lockfile
- yarn run build
-
- - name: Publish NPM package
- run: |
- npm config set '//registry.npmjs.org/:_authToken' "${NPM_TOKEN}"
- yarn lerna publish from-package --dist-tag master --no-push --no-git-tag-version --yes
- env:
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
diff --git a/.github/workflows/publish-release-npm.yml b/.github/workflows/publish-release-npm.yml
index cb87159709..b407ed4ff2 100644
--- a/.github/workflows/publish-release-npm.yml
+++ b/.github/workflows/publish-release-npm.yml
@@ -40,7 +40,7 @@ jobs:
npm config set '//registry.npmjs.org/:_authToken' "${NPM_TOKEN}"
VERSION=$(cat lerna.json | jq '.version' --raw-output)
echo ${VERSION}
- DIST_TAG=$(npm exec -- @k8slens/semver --prerelease 0 ${VERSION})
+ DIST_TAG=$(node packages/semver/dist/index.js --prerelease 0 ${VERSION})
yarn lerna \
publish from-package \
--no-push \
diff --git a/package.json b/package.json
index 3ccfff7c4e..2728d68dea 100644
--- a/package.json
+++ b/package.json
@@ -18,12 +18,11 @@
"test:unit": "lerna run --stream test:unit",
"test:integration": "lerna run --stream test:integration",
"bump-version": "lerna version --no-git-tag-version --no-push",
- "create-release-pr": "create-release-pr",
+ "precreate-release-pr": "cd packages/release-tool && yarn run build",
+ "create-release-pr": "node packages/release-tool/dist/index.js",
"postinstall": "lerna bootstrap --ignore open-lens && lerna bootstrap --scope open-lens --include-dependencies"
},
"devDependencies": {
- "@k8slens/semver": "./packages/semver",
- "@k8slens/release-tool": "./packages/release-tool",
"adr": "^1.4.3",
"cross-env": "^7.0.3",
"lerna": "^6.4.1",
diff --git a/packages/core/src/renderer/components/+namespaces/namespaces.scss b/packages/core/src/renderer/components/+namespaces/namespaces.scss
index 8636d2f5ad..8aabb06a4a 100644
--- a/packages/core/src/renderer/components/+namespaces/namespaces.scss
+++ b/packages/core/src/renderer/components/+namespaces/namespaces.scss
@@ -22,4 +22,8 @@
@include namespaceStatus;
}
}
+
+ .subnamespaceBadge {
+ margin-inline-start: var(--margin);
+ }
}
diff --git a/packages/core/src/renderer/components/+namespaces/route.tsx b/packages/core/src/renderer/components/+namespaces/route.tsx
index 7efbfb738e..11e6d97864 100644
--- a/packages/core/src/renderer/components/+namespaces/route.tsx
+++ b/packages/core/src/renderer/components/+namespaces/route.tsx
@@ -16,6 +16,7 @@ import { withInjectables } from "@ogre-tools/injectable-react";
import namespaceStoreInjectable from "./store.injectable";
import { KubeObjectAge } from "../kube-object/age";
import openAddNamepaceDialogInjectable from "./add-dialog/open.injectable";
+import { SubnamespaceBadge } from "./subnamespace-badge";
enum columnId {
name = "name",
@@ -55,7 +56,12 @@ const NonInjectedNamespacesRoute = ({ namespaceStore, openAddNamespaceDialog }:
{ title: "Status", className: "status", sortBy: columnId.status, id: columnId.status },
]}
renderTableContents={namespace => [
- namespace.getName(),
+ <>
+ {namespace.getName()}
+ {namespace.isSubnamespace() && (
+
+ )}
+ >,
,
namespace.getLabels().map(label => (
{
id: string;
}
-export function SubnamespaceBadge({ id, ...other }: SubnamespaceBadgeProps) {
+export function SubnamespaceBadge({ id, className, ...other }: SubnamespaceBadgeProps) {
return (
<>