diff --git a/.github/workflows/lint-test-build-web.yml b/.github/workflows/lint-test-build-web.yml deleted file mode 100644 index c315611ea..000000000 --- a/.github/workflows/lint-test-build-web.yml +++ /dev/null @@ -1,74 +0,0 @@ -name: Lint, Test, and Build Web Components - -on: - workflow_dispatch: - -jobs: - lint-web: - defaults: - run: - working-directory: web - runs-on: ubuntu-latest - steps: - - name: Checkout repo - uses: actions/checkout@v4 - - - name: Create env file - run: | - touch .env - echo VITE_ACCOUNT=${{ vars.VITE_ACCOUNT }} >> .env - echo VITE_CONNECT=${{ vars.VITE_CONNECT }} >> .env - echo VITE_UNRAID_NET=${{ vars.VITE_UNRAID_NET }} >> .env - echo VITE_CALLBACK_KEY=${{ vars.VITE_CALLBACK_KEY }} >> .env - cat .env - - - name: Install node - uses: actions/setup-node@v4 - with: - cache: "npm" - cache-dependency-path: "web/package-lock.json" - node-version-file: "web/.nvmrc" - - - name: Installing node deps - run: npm install - - - name: Lint files - run: npm run lint - - build-web: - defaults: - run: - working-directory: web - runs-on: ubuntu-latest - needs: [lint-web] - steps: - - name: Checkout repo - uses: actions/checkout@v4 - - - name: Create env file - run: | - touch .env - echo VITE_ACCOUNT=${{ vars.VITE_ACCOUNT }} >> .env - echo VITE_CONNECT=${{ vars.VITE_CONNECT }} >> .env - echo VITE_UNRAID_NET=${{ vars.VITE_UNRAID_NET }} >> .env - echo VITE_CALLBACK_KEY=${{ vars.VITE_CALLBACK_KEY }} >> .env - cat .env - - - name: Install node - uses: actions/setup-node@v4 - with: - cache: "npm" - cache-dependency-path: "web/package-lock.json" - node-version-file: "web/.nvmrc" - - - name: Installing node deps - run: npm install - - - name: Build - run: npm run build - - - name: Upload build to Github artifacts - uses: actions/upload-artifact@v4 - with: - name: unraid-web - path: web/.nuxt/nuxt-custom-elements/dist/unraid-components diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1452aaf32..ab8dd4264 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,6 +1,7 @@ name: CI - Main (API) on: + pull_request: push: branches: - main diff --git a/.github/workflows/pull-request-web.yml b/.github/workflows/pull-request-web.yml deleted file mode 100644 index 0f7935c12..000000000 --- a/.github/workflows/pull-request-web.yml +++ /dev/null @@ -1,82 +0,0 @@ -name: Pull Request Web - -on: - pull_request: - paths: - - 'web/**' - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-web - cancel-in-progress: true - -jobs: - lint-web: - defaults: - run: - working-directory: web - runs-on: ubuntu-latest - steps: - - name: Checkout repo - uses: actions/checkout@v4 - - - name: Create env file - run: | - touch .env - echo VITE_ACCOUNT=${{ vars.VITE_ACCOUNT }} >> .env - echo VITE_CONNECT=${{ vars.VITE_CONNECT }} >> .env - echo VITE_UNRAID_NET=${{ vars.VITE_UNRAID_NET }} >> .env - echo VITE_CALLBACK_KEY=${{ vars.VITE_CALLBACK_KEY }} >> .env - cat .env - - - name: Install node - uses: actions/setup-node@v4 - with: - cache: "npm" - cache-dependency-path: "web/package-lock.json" - node-version-file: "web/.nvmrc" - - - name: Installing node deps - run: npm install - - - name: Lint files - run: npm run lint - - build-web: - defaults: - run: - working-directory: web - runs-on: ubuntu-latest - environment: - name: production - needs: [lint-web] - steps: - - name: Checkout repo - uses: actions/checkout@v4 - - - name: Create env file - run: | - touch .env - echo VITE_ACCOUNT=${{ vars.VITE_ACCOUNT }} >> .env - echo VITE_CONNECT=${{ vars.VITE_CONNECT }} >> .env - echo VITE_UNRAID_NET=${{ vars.VITE_UNRAID_NET }} >> .env - echo VITE_CALLBACK_KEY=${{ vars.VITE_CALLBACK_KEY }} >> .env - cat .env - - - name: Install node - uses: actions/setup-node@v4 - with: - cache: "npm" - cache-dependency-path: "web/package-lock.json" - node-version-file: "web/.nvmrc" - - - name: Installing node deps - run: npm install - - - name: Build - run: npm run build - - - name: Upload build to Github artifacts - uses: actions/upload-artifact@v4 - with: - name: unraid-web - path: web/.nuxt/nuxt-custom-elements/dist/unraid-components diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml deleted file mode 100644 index da8d919f5..000000000 --- a/.github/workflows/pull-request.yml +++ /dev/null @@ -1,183 +0,0 @@ -name: Pull Request - -on: - pull_request: - paths: - - api/** - -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - -jobs: - lint-api: - services: - registry: # Using a local registry is ~3x faster than exporting the image to docker agent - image: registry:2 - ports: - - 5000:5000 - - continue-on-error: true - defaults: - run: - working-directory: api - runs-on: ubuntu-latest - steps: - - name: Checkout repo - uses: actions/checkout@v4 - with: - persist-credentials: true - - uses: docker/setup-buildx-action@v3 - with: - # network=host driver-opt needed to push to local registry - driver-opts: network=host - - name: Build and push - uses: docker/build-push-action@v5 - with: - context: api - target: builder - push: true - tags: localhost:5000/unraid-api:builder - cache-from: type=gha - cache-to: type=gha,mode=max - - name: Lint - run: | - docker run localhost:5000/unraid-api:builder npm run lint - - test-api: - services: - registry: # Using a local registry is ~3x faster than exporting the image to docker agent - image: registry:2 - ports: - - 5000:5000 - - defaults: - run: - working-directory: api - runs-on: ubuntu-latest - steps: - - name: Checkout repo - uses: actions/checkout@v4 - with: - persist-credentials: true - - uses: docker/setup-buildx-action@v3 - with: - # network=host driver-opt needed to push to local registry - driver-opts: network=host - - - name: Build and push - uses: docker/build-push-action@v5 - with: - context: api - target: builder - push: true - tags: localhost:5000/unraid-api:builder - cache-from: type=gha - cache-to: type=gha,mode=max - - name: Test - run: | - docker run localhost:5000/unraid-api:builder npm run coverage - - build-api: - services: - registry: # Using a local registry is ~3x faster than exporting the image to docker agent - image: registry:2 - ports: - - 5000:5000 - - defaults: - run: - working-directory: api - runs-on: ubuntu-latest - - outputs: - API_VERSION: ${{ steps.build-pack-binary.outputs.API_VERSION }} - API_MD5: ${{ steps.set-hashes.outputs.API_MD5 }} - API_SHA256: ${{ steps.set-hashes.outputs.API_SHA256 }} - - steps: - - name: Checkout repo - uses: actions/checkout@v4 - with: - persist-credentials: true - - uses: docker/setup-buildx-action@v3 - with: - # network=host driver-opt needed to push to local registry - driver-opts: network=host - - - name: Build and push - uses: docker/build-push-action@v5 - with: - context: api - target: builder - push: true - tags: localhost:5000/unraid-api:builder - cache-from: type=gha - cache-to: type=gha,mode=max - - - name: Run Build - run: docker run -e GIT_SHA=$(git rev-parse --short HEAD) -e IS_TAGGED=$(git describe --tags --abbrev=0 --exact-match) -v $(pwd)/deploy:/app/deploy/ localhost:5000/unraid-api:builder npm run build-pkg - - - name: Set Hashes - id: set-hashes - run: | - API_MD5=$(md5sum ${{ github.workspace }}/api/deploy/release/*.tgz | awk '{ print $1 }') - API_SHA256=$(sha256sum ${{ github.workspace }}/api/deploy/release/*.tgz | awk '{ print $1 }') - echo "::set-output name=API_MD5::${API_MD5}" - echo "::set-output name=API_SHA256::${API_SHA256}" - - - name: Upload tgz to Github artifacts - uses: actions/upload-artifact@v4 - with: - name: unraid-api - path: ${{ github.workspace }}/api/deploy/release/*.tgz - - - name: Parse Changelog - id: changelog - uses: ocavue/changelog-parser-action@v1 - with: - removeMarkdown: false - filePath: "./api/CHANGELOG.md" - - - name: View release notes - run: | - escapedNotes=$(sed -e 's/[&\\/]/\\&/g; s/$/\\/' -e '$s/\\$//' <<<"${{steps.changelog.outputs.latestBody}}") - echo "${escapedNotes}" - build-plugin: - defaults: - run: - working-directory: plugin - runs-on: ubuntu-latest - needs: [lint-api, test-api, build-api] - steps: - - name: Set Timezone - uses: szenius/set-timezone@v1.2 - with: - timezoneLinux: "America/Los_Angeles" - - name: Checkout repo - uses: actions/checkout@v4 - - name: Build Plugin - run: | - cd source/dynamix.unraid.net - export API_VERSION=${{needs.build-api.outputs.API_VERSION}} - export API_MD5=${{needs.build-api.outputs.API_MD5}} - export API_SHA256=${{needs.build-api.outputs.API_SHA256}} - bash ./pkg_build.sh s - bash ./pkg_build.sh p - - name: Create release notes - run: | - LAST_RELEASE=$(git tag --list --sort=v:refname | tail -1) - echo ${LAST_RELEASE} - RELEASE_NOTES=$(git log "$LAST_RELEASE...HEAD" --pretty=format:"- %s [\`%h\`](http://github.com/$GITHUB_REPOSITORY/commit/%H)" --reverse) - echo "${RELEASE_NOTES}" - # escapedNotes=$(sed -e 's/[&\\/]/\\&/g; s/$/\\/' -e '$s/\\$//' <<<"${RELEASE_NOTES}") - # sed -i -z -E "s/(.*)<\/CHANGES>/\n${escapedNotes}\n<\/CHANGES>/g" "plugins/dynamix.unraid.net.staging.plg" - - name: Upload binary txz and plg to Github artifacts - uses: actions/upload-artifact@v4 - with: - name: connect-files - path: | - ${{ github.workspace }}/plugin/archive/*.txz - ${{ github.workspace }}/plugin/plugins/*.plg - retention-days: 5 - if-no-files-found: error