diff --git a/.github/workflows/frontend-ci.yml b/.github/workflows/frontend-ci.yml index 9ea2fdbd..7e2814ee 100644 --- a/.github/workflows/frontend-ci.yml +++ b/.github/workflows/frontend-ci.yml @@ -20,41 +20,100 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 + - name: Install Node.js + uses: actions/setup-node@v4 + with: + node-version: 22 + - name: Restore pnpm cache + uses: actions/cache/restore@v4 + id: pnpm-cache + with: + path: ~/.pnpm-store + key: pnpm-${{ hashFiles('frontend/pnpm-lock.yaml') }} + restore-keys: | + pnpm- - name: Install pnpm uses: pnpm/action-setup@v4 with: package_json_file: frontend/package.json - run_install: false - - name: Install Node.js - uses: actions/setup-node@v4 - with: - node-version: 20 - cache: pnpm - cache-dependency-path: frontend/pnpm-lock.yaml - - name: Install dependencies - run: pnpm install + - run: pnpm install --frozen-lockfile --strict-peer-dependencies - name: Lint run: pnpm run --recursive --parallel --aggregate-output lint - test: - name: Test + + - name: Save pnpm cache + if: always() && steps.pnpm-cache.outputs.cache-hit != 'true' # && github.ref == 'refs/heads/main' + uses: actions/cache/save@v4 + with: + path: ~/.pnpm-store + key: ${{ steps.pnpm-cache.outputs.cache-primary-key }} + + generate: + name: Generate runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 + - name: Install Node.js + uses: actions/setup-node@v4 + with: + node-version: 22 + - name: Restore pnpm cache + uses: actions/cache/restore@v4 + id: pnpm-cache + with: + path: ~/.pnpm-store + key: pnpm-${{ hashFiles('frontend/pnpm-lock.yaml') }} + restore-keys: | + pnpm- - name: Install pnpm uses: pnpm/action-setup@v4 with: package_json_file: frontend/package.json - run_install: false + - run: pnpm install --frozen-lockfile --strict-peer-dependencies + + - name: Generate + run: pnpm run --recursive --parallel --aggregate-output generate + - name: Check diff + run: git diff --name-only --exit-code + + - name: Save pnpm cache + if: always() && steps.pnpm-cache.outputs.cache-hit != 'true' # && github.ref == 'refs/heads/main' + uses: actions/cache/save@v4 + with: + path: ~/.pnpm-store + key: ${{ steps.pnpm-cache.outputs.cache-primary-key }} + + test: + name: Test + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 - name: Install Node.js uses: actions/setup-node@v4 with: - node-version: 20 - cache: pnpm - cache-dependency-path: frontend/pnpm-lock.yaml - - name: Install dependencies - run: pnpm install + node-version: 22 + - name: Restore pnpm cache + uses: actions/cache/restore@v4 + id: pnpm-cache + with: + path: ~/.pnpm-store + key: pnpm-${{ hashFiles('frontend/pnpm-lock.yaml') }} + restore-keys: | + pnpm- + - name: Install pnpm + uses: pnpm/action-setup@v4 + with: + package_json_file: frontend/package.json + - run: pnpm install --frozen-lockfile --strict-peer-dependencies - name: Test run: pnpm run --recursive --parallel --aggregate-output test + + - name: Save pnpm cache + if: always() && steps.pnpm-cache.outputs.cache-hit != 'true' # && github.ref == 'refs/heads/main' + uses: actions/cache/save@v4 + with: + path: ~/.pnpm-store + key: ${{ steps.pnpm-cache.outputs.cache-primary-key }} diff --git a/frontend/packages/proto/proto/admin/v1/team_pb.ts b/frontend/packages/proto/proto/admin/v1/team_pb.ts index 190dbfef..b58f5ec5 100644 --- a/frontend/packages/proto/proto/admin/v1/team_pb.ts +++ b/frontend/packages/proto/proto/admin/v1/team_pb.ts @@ -13,7 +13,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file admin/v1/team.proto. */ export const file_admin_v1_team: GenFile = /*@__PURE__*/ - fileDesc("ChNhZG1pbi92MS90ZWFtLnByb3RvEghhZG1pbi52MSJVCgRUZWFtEhcKBGNvZGUYAiABKANCCbpIBiIEEGQgARIVCgRuYW1lGAMgASgJQge6SARyAhABEh0KDG9yZ2FuaXphdGlvbhgEIAEoCUIHukgEcgIQASISChBMaXN0VGVhbXNSZXF1ZXN0IjoKEUxpc3RUZWFtc1Jlc3BvbnNlEiUKBXRlYW1zGAEgAygLMg4uYWRtaW4udjEuVGVhbUIGukgDyAEBIikKDkdldFRlYW1SZXF1ZXN0EhcKBGNvZGUYASABKANCCbpIBiIEEGQgASI3Cg9HZXRUZWFtUmVzcG9uc2USJAoEdGVhbRgBIAEoCzIOLmFkbWluLnYxLlRlYW1CBrpIA8gBASI5ChFDcmVhdGVUZWFtUmVxdWVzdBIkCgR0ZWFtGAEgASgLMg4uYWRtaW4udjEuVGVhbUIGukgDyAEBIjoKEkNyZWF0ZVRlYW1SZXNwb25zZRIkCgR0ZWFtGAEgASgLMg4uYWRtaW4udjEuVGVhbUIGukgDyAEBIjkKEVVwZGF0ZVRlYW1SZXF1ZXN0EiQKBHRlYW0YASABKAsyDi5hZG1pbi52MS5UZWFtQga6SAPIAQEiawoSVXBkYXRlVGVhbVJlc3BvbnNlEiQKBHRlYW0YASABKAsyDi5hZG1pbi52MS5UZWFtQga6SAPIAQESLwoLdXBkYXRlX21hc2sYAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIiwKEURlbGV0ZVRlYW1SZXF1ZXN0EhcKBGNvZGUYASABKANCCbpIBiIEEGQgASIUChJEZWxldGVUZWFtUmVzcG9uc2Uy7gIKC1RlYW1TZXJ2aWNlEkQKCUxpc3RUZWFtcxIaLmFkbWluLnYxLkxpc3RUZWFtc1JlcXVlc3QaGy5hZG1pbi52MS5MaXN0VGVhbXNSZXNwb25zZRI+CgdHZXRUZWFtEhguYWRtaW4udjEuR2V0VGVhbVJlcXVlc3QaGS5hZG1pbi52MS5HZXRUZWFtUmVzcG9uc2USRwoKQ3JlYXRlVGVhbRIbLmFkbWluLnYxLkNyZWF0ZVRlYW1SZXF1ZXN0GhwuYWRtaW4udjEuQ3JlYXRlVGVhbVJlc3BvbnNlEkcKClVwZGF0ZVRlYW0SGy5hZG1pbi52MS5VcGRhdGVUZWFtUmVxdWVzdBocLmFkbWluLnYxLlVwZGF0ZVRlYW1SZXNwb25zZRJHCgpEZWxldGVUZWFtEhsuYWRtaW4udjEuRGVsZXRlVGVhbVJlcXVlc3QaHC5hZG1pbi52MS5EZWxldGVUZWFtUmVzcG9uc2VCngEKDGNvbS5hZG1pbi52MUIJVGVhbVByb3RvUAFaQmdpdGh1Yi5jb20vaWN0c2MvaWN0c2Mtb3V0bGFuZHMvYmFja2VuZC9wa2cvcHJvdG8vYWRtaW4vdjE7YWRtaW52MaICA0FYWKoCCEFkbWluLlYxygIIQWRtaW5cVjHiAhRBZG1pblxWMVxHUEJNZXRhZGF0YeoCCUFkbWluOjpWMWIGcHJvdG8z", [file_buf_validate_validate, file_google_protobuf_field_mask]); + fileDesc("ChNhZG1pbi92MS90ZWFtLnByb3RvEghhZG1pbi52MSJVCgRUZWFtEhcKBGNvZGUYAiABKANCCbpIBiIEEGQgARIVCgRuYW1lGAMgASgJQge6SARyAhABEh0KDG9yZ2FuaXphdGlvbhgEIAEoCUIHukgEcgIQASISChBMaXN0VGVhbXNSZXF1ZXN0IjoKEUxpc3RUZWFtc1Jlc3BvbnNlEiUKBXRlYW1zGAEgAygLMg4uYWRtaW4udjEuVGVhbUIGukgDyAEBIikKDkdldFRlYW1SZXF1ZXN0EhcKBGNvZGUYASABKANCCbpIBiIEEGQgASI3Cg9HZXRUZWFtUmVzcG9uc2USJAoEdGVhbRgBIAEoCzIOLmFkbWluLnYxLlRlYW1CBrpIA8gBASI5ChFDcmVhdGVUZWFtUmVxdWVzdBIkCgR0ZWFtGAEgASgLMg4uYWRtaW4udjEuVGVhbUIGukgDyAEBIjoKEkNyZWF0ZVRlYW1SZXNwb25zZRIkCgR0ZWFtGAEgASgLMg4uYWRtaW4udjEuVGVhbUIGukgDyAEBImoKEVVwZGF0ZVRlYW1SZXF1ZXN0EiQKBHRlYW0YASABKAsyDi5hZG1pbi52MS5UZWFtQga6SAPIAQESLwoLdXBkYXRlX21hc2sYAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIjoKElVwZGF0ZVRlYW1SZXNwb25zZRIkCgR0ZWFtGAEgASgLMg4uYWRtaW4udjEuVGVhbUIGukgDyAEBIiwKEURlbGV0ZVRlYW1SZXF1ZXN0EhcKBGNvZGUYASABKANCCbpIBiIEEGQgASIUChJEZWxldGVUZWFtUmVzcG9uc2Uy7gIKC1RlYW1TZXJ2aWNlEkQKCUxpc3RUZWFtcxIaLmFkbWluLnYxLkxpc3RUZWFtc1JlcXVlc3QaGy5hZG1pbi52MS5MaXN0VGVhbXNSZXNwb25zZRI+CgdHZXRUZWFtEhguYWRtaW4udjEuR2V0VGVhbVJlcXVlc3QaGS5hZG1pbi52MS5HZXRUZWFtUmVzcG9uc2USRwoKQ3JlYXRlVGVhbRIbLmFkbWluLnYxLkNyZWF0ZVRlYW1SZXF1ZXN0GhwuYWRtaW4udjEuQ3JlYXRlVGVhbVJlc3BvbnNlEkcKClVwZGF0ZVRlYW0SGy5hZG1pbi52MS5VcGRhdGVUZWFtUmVxdWVzdBocLmFkbWluLnYxLlVwZGF0ZVRlYW1SZXNwb25zZRJHCgpEZWxldGVUZWFtEhsuYWRtaW4udjEuRGVsZXRlVGVhbVJlcXVlc3QaHC5hZG1pbi52MS5EZWxldGVUZWFtUmVzcG9uc2VCnQEKDGNvbS5hZG1pbi52MUIJVGVhbVByb3RvUAFaQWdpdGh1Yi5jb20vaWN0c2MvaWN0c2MtcmVnYWxpYS9iYWNrZW5kL3BrZy9wcm90by9hZG1pbi92MTthZG1pbnYxogIDQVhYqgIIQWRtaW4uVjHKAghBZG1pblxWMeICFEFkbWluXFYxXEdQQk1ldGFkYXRh6gIJQWRtaW46OlYxYgZwcm90bzM", [file_buf_validate_validate, file_google_protobuf_field_mask]); /** * @generated from message admin.v1.Team @@ -148,6 +148,11 @@ export type UpdateTeamRequest = Message<"admin.v1.UpdateTeamRequest"> & { * @generated from field: admin.v1.Team team = 1; */ team?: Team; + + /** + * @generated from field: google.protobuf.FieldMask update_mask = 2; + */ + updateMask?: FieldMask; }; /** @@ -165,11 +170,6 @@ export type UpdateTeamResponse = Message<"admin.v1.UpdateTeamResponse"> & { * @generated from field: admin.v1.Team team = 1; */ team?: Team; - - /** - * @generated from field: google.protobuf.FieldMask update_mask = 2; - */ - updateMask?: FieldMask; }; /**