Tengo el siguiente problema que ves en la imagen.
Tengo un archivo.js que me devuelve una serie de cadenas de URL. Luego, debería asignar esta matriz a una variable env como se ve en el ejemplo a continuación, pero aparece el siguiente error.
Puedes decirme dónde me equivoco.
on: workflow_dispatch: name: Test Download Multifile jobs: build: name: Build runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 name: Check out current commit - name: Url run: | URL=$(node ./actionMultifile.js) echo $URL echo "URL=$URL" >> $GITHUB_ENVactionMultifile.js
async function getData(){ const url = [ "https://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Tyrannosaurus_rex_Sue_at_FMNH.jpg/440px-Tyrannosaurus_rex_Sue_at_FMNH.jpg", "https://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Mosasaurus_beaugei_34.JPG/440px-Mosasaurus_beaugei_34.JPG" ] return url; } getData().then((url) => { console.log(url); });El problema ocurre porque necesita configurar la variable de entorno de URL usando cadenas de varias líneas
Esto se debe a que la variable URL aquí no se guarda así:
['https://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Tyrannosaurus_rex_Sue_at_FMNH.jpg/440px-Tyrannosaurus_rex_Sue_at_FMNH.jpg', 'https://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Mosasaurus_beaugei_34.JPG/440px-Mosasaurus_beaugei_34.JPG']Pero así:
[ 'https://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/Tyrannosaurus_rex_Sue_at_FMNH.jpg/440px-Tyrannosaurus_rex_Sue_at_FMNH.jpg', 'https://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Mosasaurus_beaugei_34.JPG/440px-Mosasaurus_beaugei_34.JPG' ]Por lo tanto, su flujo de trabajo debería verse así:
steps: - name: Checkout repository content uses: actions/checkout@v2 # Checkout the repository content to github runner. - name: Setup Node Version uses: actions/setup-node@v2 with: node-version: 14 # Install the node version needed - name: set multiline env var run: | echo 'URL<<EOF' >> $GITHUB_ENV node ./actionMultifile.js >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV Entonces, tenga cuidado, no podrá usar la variable ${{ env.URL }} directamente, de lo contrario, solo imprimirá la primera línea ( [ ) y se romperá. Necesitas usarlo entre comillas ( " ).
Por ejemplo:
- name: use env var run: echo "${{ env.URL }}" - name: use env var directly run: echo "$URL"Lo probé aquí si quieres echarle un vistazo: