Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 0 additions & 44 deletions .github/scripts/bump-version.js

This file was deleted.

30 changes: 10 additions & 20 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -778,37 +778,29 @@ jobs:

job_ghost-cli:
name: Ghost-CLI tests
needs: [job_setup]
needs: [job_setup, job_build_artifacts]
if: needs.job_setup.outputs.is_tag == 'true' || needs.job_setup.outputs.changed_core == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
submodules: true
- uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
env:
FORCE_COLOR: 0
with:
node-version: ${{ env.NODE_VERSION }}
cache: pnpm

- name: Install Ghost-CLI
run: npm install -g ghost-cli@latest

- name: Install dependencies
run: pnpm install --frozen-lockfile

- run: node .github/scripts/bump-version.js canary

- run: pnpm archive
# Test against the same tarball that npm-publish ships, not a parallel rebuild.
- name: Download npm tarball
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
with:
name: ghost-npm-tarball

- run: mv ghost-*.tgz ghost.tgz
working-directory: ghost/core

- name: Verify packaged package.json
run: tar -xOf ghost/core/ghost.tgz package/package.json | jq -e '.packageManager' >/dev/null
run: tar -xOf ghost.tgz package/package.json | jq -e '.packageManager' >/dev/null

- name: Save Ghost CLI Debug Logs
if: failure()
Expand All @@ -820,7 +812,7 @@ jobs:
- name: Clean Install
run: |
DIR=$(mktemp -d)
ghost install local -d "$DIR" --archive "$(pwd)/ghost/core/ghost.tgz"
ghost install local -d "$DIR" --archive "$(pwd)/ghost.tgz"
URL=$(ghost config get url -d "$DIR" --no-prompt --no-color | tail -n1)
curl --retry 10 --retry-connrefused --retry-delay 3 -fsSI "$URL"
ghost stop -d "$DIR"
Expand All @@ -829,7 +821,7 @@ jobs:
run: |
DIR=$(mktemp -d)
ghost install local -d "$DIR"
ghost update -d "$DIR" --archive "$(pwd)/ghost/core/ghost.tgz"
ghost update -d "$DIR" --archive "$(pwd)/ghost.tgz"
URL=$(ghost config get url -d "$DIR" --no-prompt --no-color | tail -n1)
curl --retry 10 --retry-connrefused --retry-delay 3 -fsSI "$URL"
ghost stop -d "$DIR"
Expand Down Expand Up @@ -895,7 +887,6 @@ jobs:
run: pnpm --filter ghost archive

- name: Upload npm tarball
if: startsWith(github.ref, 'refs/tags/v')
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: ghost-npm-tarball
Expand Down Expand Up @@ -1769,13 +1760,12 @@ jobs:
# Publish Ghost npm package — runs on version tags only (OIDC, no stored token)
# --------------------------------------------------------------------------- #
publish_ghost:
needs: [job_setup, job_build_artifacts, job_ghost-cli]
needs: [job_ghost-cli]
name: Publish Ghost to npm
runs-on: ubuntu-latest
if: |
startsWith(github.ref, 'refs/tags/v')
&& github.repository == 'TryGhost/Ghost'
&& needs.job_build_artifacts.result == 'success'
environment: npm-release
permissions:
id-token: write
Expand Down
14 changes: 10 additions & 4 deletions apps/admin-x-settings/src/components/providers/settings-router.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ export const loadModals = () => import('./routing/modals');

const SettingsRouter: React.FC = () => {
const {updateNavigatedSection, scrollToSection} = useScrollSectionContext();
const {route} = useRouting();
const {route, updateRoute} = useRouting();
// get current route
useRouteChangeCallback((newPath, oldPath) => {
if (newPath === oldPath) {
Expand All @@ -55,10 +55,16 @@ const SettingsRouter: React.FC = () => {
}, [scrollToSection]);

useEffect(() => {
if (route !== undefined) {
updateNavigatedSection(route.split('/')[0]);
if (route === undefined) {
return;
}
}, [route, updateNavigatedSection]);
// The lock-site setting was merged into the Access section
if (route.split('/')[0] === 'locksite') {
updateRoute('members');
return;
}
updateNavigatedSection(route.split('/')[0]);
}, [route, updateNavigatedSection, updateRoute]);

return null;
};
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import React from 'react';

import Analytics from '../membership/analytics';
import LockSite from './lock-site';
import PublicationLanguage from './publication-language';
import SEOMeta from './seo-meta';
import SearchableSection from '../../searchable-section';
Expand All @@ -17,7 +16,6 @@ export const searchKeywords = {
users: ['general', 'users and permissions', 'roles', 'staff', 'invite people', 'contributors', 'editors', 'authors', 'administrators'],
metadata: ['general', 'metadata', 'title', 'description', 'search', 'engine', 'google', 'meta data', 'twitter card', 'structured data', 'rich cards', 'x card', 'social', 'facebook card'],
socialAccounts: ['general', 'social accounts', 'facebook', 'twitter', 'structured data', 'rich cards'],
lockSite: ['general', 'password protection', 'lock site', 'make this site private'],
analytics: ['membership', 'analytics', 'tracking', 'privacy', 'membership']
};

Expand All @@ -33,7 +31,6 @@ const GeneralSettings: React.FC = () => {
<SEOMeta keywords={searchKeywords.metadata} />
<SocialAccounts keywords={searchKeywords.socialAccounts} />
<Analytics keywords={searchKeywords.analytics} />
<LockSite keywords={searchKeywords.lockSite} />
</SearchableSection>
);
};
Expand Down
120 changes: 0 additions & 120 deletions apps/admin-x-settings/src/components/settings/general/lock-site.tsx

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ const Network: React.FC<{ keywords: string[] }> = ({keywords}) => {
<Icon name='info' size={16} />
<div className='-mt-0.5'>
{isDisabledByPrivateMode
? <>Network is automatically disabled while your site is in <span className='cursor-pointer text-green' onClick={() => updateRoute('locksite')}>private mode</span></>
? <>Network is automatically disabled while your site is in <span className='cursor-pointer text-green' onClick={() => updateRoute('members')}>private mode</span></>
: <>You need to configure a supported custom domain to use this feature. <a className='text-green' href="https://ghost.org/help/social-web/#custom-domain-required" rel="noopener noreferrer" target="_blank">Help &rarr;</a></>
}
</div>
Expand Down
Loading
Loading