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
21 changes: 21 additions & 0 deletions .github/scripts/validate-version
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/bin/bash
set -o pipefail

if [[ -z $1 ]]; then
echo "validate-version requires a version identifier"
exit 1
fi

FILES=("system/CodeIgniter.php" "user_guide_src/source/conf.py")
LENGTH="${#FILES[@]}"

for FILE in "${FILES[@]}"; do
COUNT="$((COUNT + $(grep -c "$FILE" -e "$1")))"
done

if [[ $COUNT -ne $LENGTH ]]; then
echo "CodeIgniter version is not updated to v"$1""
exit 1
fi

echo "CodeIgniter version is updated to v"$1""
Original file line number Diff line number Diff line change
@@ -1,16 +1,40 @@
# When a new Release is created, deploy relevant
# When a new release is created, deploy relevant
# files to each of the generated repos.
name: Deploy Framework
name: Deploy Distributable Repos

on:
release:
types: [published]

jobs:
check-version:
name: Check for updated version
runs-on: ubuntu-22.04

steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0 # fetch all tags

- name: Get latest version
run: |
echo 'LATEST_VERSION<<EOF' >> $GITHUB_ENV
echo $(git describe --tags --abbrev=0) | sed "s/v//" >> $GITHUB_ENV
echo 'EOF' >> $GITHUB_ENV

- name: Search for updated version
if: ${{ env.LATEST_VERSION }}
run: |
chmod +x ${GITHUB_WORKSPACE}/.github/scripts/validate-version
${GITHUB_WORKSPACE}/.github/scripts/validate-version ${{ env.LATEST_VERSION }}

framework:
name: Deploy to framework
if: github.repository == 'codeigniter4/CodeIgniter4'
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
needs: check-version

steps:
- name: Identify
run: |
Expand Down Expand Up @@ -55,7 +79,9 @@ jobs:
appstarter:
name: Deploy to appstarter
if: github.repository == 'codeigniter4/CodeIgniter4'
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
needs: check-version

steps:
- name: Identify
run: |
Expand Down Expand Up @@ -96,3 +122,56 @@ jobs:
name: release.data.name,
body: release.data.body
})

userguide:
name: Deploy to userguide
if: github.repository == 'codeigniter4/CodeIgniter4'
runs-on: ubuntu-22.04
needs: check-version

steps:
- name: Identify
run: |
git config --global user.email "[email protected]"
git config --global user.name "${GITHUB_ACTOR}"

- name: Checkout source
uses: actions/checkout@v3
with:
path: source

- name: Checkout target
uses: actions/checkout@v3
with:
repository: codeigniter4/userguide
token: ${{ secrets.ACCESS_TOKEN }}
path: userguide

- name: Install Sphinx
run: |
sudo apt install python3-sphinx
sudo pip3 install sphinxcontrib-phpdomain
sudo pip3 install sphinx_rtd_theme

- name: Chmod
run: chmod +x ./source/.github/scripts/deploy-userguide

- name: Deploy
run: ./source/.github/scripts/deploy-userguide ${GITHUB_WORKSPACE}/source ${GITHUB_WORKSPACE}/userguide ${GITHUB_REF##*/}

- name: Release
uses: actions/github-script@v6
with:
github-token: ${{secrets.ACCESS_TOKEN}}
script: |
const release = await github.rest.repos.getLatestRelease({
owner: context.repo.owner,
repo: context.repo.repo
})
github.rest.repos.createRelease({
owner: context.repo.owner,
repo: 'userguide',
tag_name: release.data.tag_name,
name: release.data.name,
body: release.data.body
})
59 changes: 0 additions & 59 deletions .github/workflows/deploy-userguide.yml

This file was deleted.

8 changes: 4 additions & 4 deletions admin/RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,15 +60,15 @@ CodeIgniter 4.x.x release.

See the changelog: https://github.com/codeigniter4/CodeIgniter4/blob/develop/CHANGELOG.md
```
* Watch for the "Deploy Framework" Action to make sure **framework** and **appstarter** get updated
* Run the following commands to install and test AppStarter and verify the new version:
* Watch for the "Deploy Distributable Repos" action to make sure **framework**, **appstarter**, and **userguide** get updated
* Run the following commands to install and test `appstarter` and verify the new version:
```console
composer create-project codeigniter4/appstarter release-test
cd release-test
composer test && composer info codeigniter4/framework
```
* Verify that the User Guide Actions succeeded:
* "Deploy User Guide", framework repo
* Verify that the user guide actions succeeded:
* "Deploy Distributable Repos", framework repo
* "Deploy Production", UG repo
* "pages-build-deployment", both repos
* Fast-forward `develop` branch to catch the merge commit from `master`
Expand Down