Действия GitHub с зашифрованным SECRET_KEY в качестве переменной окружения не работают

У меня нет большого опыта в кодировании. В настоящее время я пишу небольшое приложение Django. Следуя всем правилам, я не хочу размещать SECRET_KEY в репозитории, поэтому я создал переменную окружения SECRET_KEY в файле .bashrс. А в файле settings.py я написал: SECRET_KEY = os.environ.get ('SECRET_KEY') Когда я выполняю pylint --load-plugins pylint_django my_application в терминале на моем компьютере все работает. Я получаю ответ

Ваш код был оценен на 9.88 / 10

Также у меня есть рабочий процесс pylint.yaml для выполнения тестов pylint-django на push-триггере, когда я отправляю свои файлы в репо на GitHub:

name: Pylint

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Set up Python 3.8
      uses: actions/setup-python@v2
      with:
        python-version: 3.8
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -r requirements.txt
    - name: Analysing the code with pylint 
      run: |
        pylint --load-plugins pylint_django rm

Когда я отправляю свои файлы на GitHub, я получаю следующее:

Похоже, что GitHub-хостинг runner не видит значение моего SECRET_KEY, прописанного в файле .bashrc
. на моей локальной машине. Я попытался изменить свой файл следующим образом:

name: Pylint

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Set up Python 3.8
      uses: actions/setup-python@v2
      with:
        python-version: 3.8
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -r requirements.txt
    - name: Analysing the code with pylint 
      run: |
        export SECRET_KEY=${{ secrets.SECRET_KEY }}
        export DB_USER=${{ secrets.DB_USER }}
        export DB_PASSWORD=${{ secrets.DB_PASSWORD }}
        export DB_NAME=${{ secrets.DB_NAME }}
        pylint --load-plugins pylint_django rm

Затем я получил эту ошибку:

Run export  SECRET_KEY=***
/home/runner/work/_temp/87974674-0535-4fca-ab32-30cf1a19f030.sh: line 1: syntax error near unexpected token `4h%fzr+bqqsmg8ftp-a$4%b'
Error: Process completed with exit code 2.

Я изменил свой файл pylint.yaml на следующий:

name: Pylint

on: [push]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Set up Python 3.8
      uses: actions/setup-python@v2
      with:
        python-version: 3.8
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -r requirements.txt
    - name: Analysing the code with pylint # SECRET_KEY is generated with DJANGO SECRET KEY GENERATOR
      run: |
        export SECRET_KEY=0-42!#@*6jqo)lv^+@-+&(-@kjke@xzk%)1!w)vz-1uwk71p)=
        export DB_USER=${{ secrets.DB_USER }}
        export DB_PASSWORD=${{ secrets.DB_PASSWORD }}
        export DB_NAME=${{ secrets.DB_NAME }}
        pylint --load-plugins pylint_django rm

и получил эту ошибку:

Run export SECRET_KEY=0-42!#@*6jqo)lv^+@-+&(-@kjke@xzk%)1!w)vz-1uwk71p)=
/home/runner/work/_temp/fdbfd3cd-9022-4cd6-833c-0aef801ddddb.sh: line 1: syntax error near unexpected token `)'
Error: Process completed with exit code 2.

Как я могу сообщить моему рабочему процессу pylint, какой SECRET_KEY использовать в файле pylint.yaml для прохождения тестов?

Пожалуйста, помогите.Я уже потратил много времени на размышления и поиск в интернете и документации GitHub, но ничего для себя не нашел.

Я был очень близок к решению. Из-за того, что SECRET_KEY содержит круглые скобки, необходимо заключить SECRET_KEY в двойные кавычки.

 - name: Analysing the code with pylint # SECRET_KEY is generated with DJANGO SECRET KEY GENERATOR
      run: |
        export SECRET_KEY="0-42!#@*6jqo)lv^+@-+&(-@kjke@xzk%)1!w)vz-1uwk71p)="
        export DB_USER=${{ secrets.DB_USER }}
        export DB_PASSWORD=${{ secrets.DB_PASSWORD }}
        export DB_NAME=${{ secrets.DB_NAME }}
        pylint --load-plugins pylint_django rm
Вернуться на верх