<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://entorb.net//wiki/index.php?action=history&amp;feed=atom&amp;title=GitHub_Actions</id>
	<title>GitHub Actions - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://entorb.net//wiki/index.php?action=history&amp;feed=atom&amp;title=GitHub_Actions"/>
	<link rel="alternate" type="text/html" href="https://entorb.net//wiki/index.php?title=GitHub_Actions&amp;action=history"/>
	<updated>2026-05-06T10:30:19Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://entorb.net//wiki/index.php?title=GitHub_Actions&amp;diff=4891&amp;oldid=prev</id>
		<title>Torben at 20:43, 30 October 2024</title>
		<link rel="alternate" type="text/html" href="https://entorb.net//wiki/index.php?title=GitHub_Actions&amp;diff=4891&amp;oldid=prev"/>
		<updated>2024-10-30T20:43:13Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Coding]]&lt;br /&gt;
Manual, see [https://github.com/features/actions]&lt;br /&gt;
&lt;br /&gt;
==Workflows==&lt;br /&gt;
===Check new Commits and PRs===&lt;br /&gt;
(copy from edit mode since the display here is wrong) &lt;br /&gt;
 # This workflow performs chapter quality (known issues) and code quality checks upon new commits and PRs.&lt;br /&gt;
 # Configured in .pre-commit-config.yaml and setup.cfg&lt;br /&gt;
 &lt;br /&gt;
 name: Check new commits and PRs&lt;br /&gt;
 &lt;br /&gt;
 on:&lt;br /&gt;
   workflow_dispatch:&lt;br /&gt;
   push:&lt;br /&gt;
     branches: [ &amp;quot;main&amp;quot; ]&lt;br /&gt;
   pull_request:&lt;br /&gt;
     branches: [ &amp;quot;main&amp;quot; ]&lt;br /&gt;
 &lt;br /&gt;
 permissions:&lt;br /&gt;
   contents: read&lt;br /&gt;
 &lt;br /&gt;
 jobs:&lt;br /&gt;
   check:&lt;br /&gt;
 &lt;br /&gt;
     runs-on: ubuntu-22.04&lt;br /&gt;
 &lt;br /&gt;
     steps:&lt;br /&gt;
     - name: Checkout repository&lt;br /&gt;
       uses: actions/checkout@v3&lt;br /&gt;
 &lt;br /&gt;
     - name: Set up Python&lt;br /&gt;
       uses: actions/setup-python@v4&lt;br /&gt;
       with:&lt;br /&gt;
         python-version: &amp;quot;3.10&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
     - name: Set up Python cache&lt;br /&gt;
       uses: actions/cache@v3&lt;br /&gt;
       with:&lt;br /&gt;
         path: ${{ env.pythonLocation }}&lt;br /&gt;
         key: ${{ env.pythonLocation }}-py-cache&lt;br /&gt;
 &lt;br /&gt;
     - name: Check of chapters for known issues&lt;br /&gt;
       run: python3 -O scripts/check-chapters.py&lt;br /&gt;
 &lt;br /&gt;
     - name: Check pre-commit tests&lt;br /&gt;
       uses: pre-commit/action@v3.0.0&lt;br /&gt;
&lt;br /&gt;
===Make Release, manual input===&lt;br /&gt;
(copy from edit mode since the display here is wrong)&lt;br /&gt;
 # This manually started workflow builds and creates a new release including the assets.&lt;br /&gt;
 &lt;br /&gt;
 name: &amp;quot;Create Release&amp;quot; &lt;br /&gt;
 &lt;br /&gt;
 on:&lt;br /&gt;
   workflow_dispatch:&lt;br /&gt;
     inputs:&lt;br /&gt;
       version_number:&lt;br /&gt;
         description: &amp;#039;Version number&amp;#039;&lt;br /&gt;
         required: true&lt;br /&gt;
         default: &amp;#039;v1.2.1&amp;#039;&lt;br /&gt;
       version_text:&lt;br /&gt;
         description: &amp;#039;Description&amp;#039;&lt;br /&gt;
         required: false&lt;br /&gt;
         default: &amp;#039;&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 jobs:&lt;br /&gt;
   release:&lt;br /&gt;
     runs-on: ubuntu-22.04&lt;br /&gt;
 &lt;br /&gt;
     steps:&lt;br /&gt;
     - name: Test print input&lt;br /&gt;
       run: |&lt;br /&gt;
         # env var&lt;br /&gt;
         echo &amp;quot;version_number: ${{ github.event.inputs.version_number }}&amp;quot;&lt;br /&gt;
         echo &amp;quot;version_number: ${{ github.event.inputs.version_text }}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
     - name: Checkout repository&lt;br /&gt;
       uses: actions/checkout@v3&lt;br /&gt;
 &lt;br /&gt;
     - name: Python set up&lt;br /&gt;
       uses: actions/setup-python@v4&lt;br /&gt;
       with:&lt;br /&gt;
         python-version: &amp;#039;3.10&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
     - name: Python cache set up&lt;br /&gt;
       uses: actions/cache@v3&lt;br /&gt;
       with:&lt;br /&gt;
         path: ${{ env.pythonLocation }}&lt;br /&gt;
         key: ${{ env.pythonLocation }}-py-cache&lt;br /&gt;
 &lt;br /&gt;
     - name: Run pre-commit tests&lt;br /&gt;
       # configured in .pre-commit-config.yaml and setup.cfg&lt;br /&gt;
       uses: pre-commit/action@v3.0.0&lt;br /&gt;
 &lt;br /&gt;
     - name: Install requirements&lt;br /&gt;
       run: sh scripts/install_requirements.sh &amp;gt; /dev/null&lt;br /&gt;
 &lt;br /&gt;
     - name: Make&lt;br /&gt;
       run: my_make.sh&lt;br /&gt;
  &lt;br /&gt;
     - name: Create release&lt;br /&gt;
       uses: softprops/action-gh-release@v1&lt;br /&gt;
       with:&lt;br /&gt;
         # action var&lt;br /&gt;
         tag_name: &amp;quot;${{ inputs.version_number }}&amp;quot;&lt;br /&gt;
         prerelease: false&lt;br /&gt;
         files: |&lt;br /&gt;
           ./hpmor*.pdf&lt;br /&gt;
           ./hpmor.epub&lt;br /&gt;
&lt;br /&gt;
==Tricks==&lt;br /&gt;
===Caching Python pip packages===&lt;br /&gt;
     - name: Python set up&lt;br /&gt;
       uses: actions/setup-python@v4&lt;br /&gt;
       with:&lt;br /&gt;
         python-version: &amp;#039;3.10&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
     - name: Python cache set up&lt;br /&gt;
       uses: actions/cache@v3&lt;br /&gt;
       with:&lt;br /&gt;
         path: ${{ env.pythonLocation }}&lt;br /&gt;
         key: ${{ env.pythonLocation }}-py-cache&lt;br /&gt;
&lt;br /&gt;
===Caching apt packages===&lt;br /&gt;
     - name: Install packages using cache&lt;br /&gt;
       uses: awalsh128/cache-apt-pkgs-action@latest&lt;br /&gt;
       with:&lt;br /&gt;
         packages: texlive-extra-utils pandoc calibre imagemagick ghostscript&lt;br /&gt;
         version: 1.0&lt;br /&gt;
         # execute_install_scripts: true&lt;br /&gt;
&lt;br /&gt;
===Setup Linux environment to DE language===&lt;br /&gt;
    - name: Setup environment to DE lang&lt;br /&gt;
      run: |&lt;br /&gt;
        cd /usr/share/locales&lt;br /&gt;
        sudo ./install-language-pack de_DE.UTF-8&lt;br /&gt;
&lt;br /&gt;
===Using Docker Container===&lt;br /&gt;
 jobs:&lt;br /&gt;
   check:&lt;br /&gt;
     runs-on: ubuntu-latest&lt;br /&gt;
     container: ubuntu:24.04&lt;br /&gt;
&lt;br /&gt;
for python you need to install it manually, but better use ubuntu-latest without container but with actions/setup-python@v5 and python-version: &amp;quot;3.12&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 name: Check and Test Python Project via Docker&lt;br /&gt;
 &lt;br /&gt;
 on:&lt;br /&gt;
   workflow_dispatch:&lt;br /&gt;
   push:&lt;br /&gt;
     branches: [&amp;quot;main&amp;quot;]&lt;br /&gt;
   pull_request:&lt;br /&gt;
     branches: [&amp;quot;main&amp;quot;]&lt;br /&gt;
 &lt;br /&gt;
 permissions:&lt;br /&gt;
   contents: read&lt;br /&gt;
 &lt;br /&gt;
 jobs:&lt;br /&gt;
   check:&lt;br /&gt;
     runs-on: ubuntu-latest&lt;br /&gt;
     container: ubuntu:24.04&lt;br /&gt;
 &lt;br /&gt;
     steps:&lt;br /&gt;
       - name: checkout repository&lt;br /&gt;
         uses: actions/checkout@v4&lt;br /&gt;
         with:&lt;br /&gt;
           persist-credentials: false&lt;br /&gt;
           fetch-depth: 1 # 0 if you want to push to repo&lt;br /&gt;
 &lt;br /&gt;
       # - name: python set up&lt;br /&gt;
       #   uses: actions/setup-python@v5&lt;br /&gt;
       #   with:&lt;br /&gt;
       #     python-version: &amp;quot;3.12&amp;quot;&lt;br /&gt;
       #     cache: &amp;quot;pip&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
       # - name: python cache set up&lt;br /&gt;
       #   uses: actions/cache@v4&lt;br /&gt;
       #   with:&lt;br /&gt;
       #     path: ${{ env.pythonLocation }}&lt;br /&gt;
       #     key: ${{ env.pythonLocation }}-py-cache&lt;br /&gt;
 &lt;br /&gt;
       - name: install python and git&lt;br /&gt;
         run: |&lt;br /&gt;
           apt-get update -y &amp;gt; /dev/null&lt;br /&gt;
           apt-get install -y lsb-release python3 python3-pip python3.12-venv python-is-python3 git &amp;gt; /dev/null&lt;br /&gt;
           git init&lt;br /&gt;
 &lt;br /&gt;
       - name: install dependencies via pip&lt;br /&gt;
         run: |&lt;br /&gt;
           python -m venv .venv&lt;br /&gt;
           . .venv/bin/activate&lt;br /&gt;
           if [ -f requirements.txt ]; then pip --no-cache-dir install -r requirements.txt; fi&lt;br /&gt;
           pip --no-cache-dir install pre-commit&lt;br /&gt;
 &lt;br /&gt;
       - name: run pytest&lt;br /&gt;
         run: |&lt;br /&gt;
           . .venv/bin/activate&lt;br /&gt;
           pip install pytest&lt;br /&gt;
           cp src/rememberthemilk.ini.example src/rememberthemilk.ini&lt;br /&gt;
           pytest&lt;/div&gt;</summary>
		<author><name>Torben</name></author>
	</entry>
</feed>