GitHub ﺕﺎﻣﺍﺪﻗﺍ ﺎﺑ ﻥﻮﺘﯾﺎﭘ ﯼﺍﺮﺑ ﻡﻭﺍﺪﻣ ﺭﺍﺮﻘﺘﺳﺍ ﻭ ﻡﺎﻏﺩﺍ
.ﺪﻧﻮﺷﯽﻣ ﺭﺎﮔﺯﺎﺳ ﺕﺍﺮﯿﯿﻐﺗ ﺎﺑ ﻪﭼﺭﺎﭙﮑﯾ ﻥﺎﺸﯾﺎﻫﻩﮊﻭﺮﭘ ﻪﮐ ﺪﻨﻨﮐ ﻞﺻﺎﺣ ﻥﺎﻨﯿﻤﻃﺍ ﻭ
ﺕﺎﻣﺍﺪﻗﺍ GitHub ﯼﺍﺮﺑ Python ﺪﻧﻮﺷ ﺭﺎﮔﺯﺎﺳ ﯽﻤﺋﺍﺩ ﺕﺍﺮﯿﯿﻐﺗ ﺎﺑ ﻝﺎﺣ ﻦ
ﻡﻭﺍﺪﻣ ﺭﺍﺮﻘﺘﺳﺍ ﻭ ﻡﻭﺍﺪﻣ ﻡﺎﻏﺩﺍ (CI/CD) ﺕﺎﻣﺍﺪﻗﺍ .ﺪﻨﻨﮐ ﯽﻣ ﮏﻤﮐ ﻩﺩ
ﻪﻧﻮﮕﭼ ﻪﮐ ﺪﯾﺯﻮﻣﺁ ﯽﻣ ﺎﻤﺷ ، ﺵﺯﻮﻣﺁ ﻦﯾﺍ ﺭﺩ:
- ﺪﯿﻨﮐ ﻩﺩﺎﻔﺘﺳﺍ ﺭﺎﮐ ﺵﺩﺮﮔ ﻭ
ﺕﺎﻣﺍﺪﻗﺍ ﺯ - ﺭﺍﺮﻘﺘﺳﺍ ﻭ ﺶﯾﺎﻣﺯﺁ ،ﻥﺩﺯ ﻩﺩﺮﭘ ﺪﯿﻨﮐ ﺭﺎﮐﺩﻮﺧ ﺍﺭ ﻥﻮﺘﯾﺎﭘ ﻩﮊﻭﺮﭘ
- ﻦﻤﯾﺍ ﻪﻣﺎﻧﺭﺎﺒﺘﻋﺍ ﺩﻮﺷ ﯽﻣ ﻩﺩﺎﻔﺘﺳﺍ ﻥﻮﯿﺳﺎﻣﻮﺗﺍ ﯼﺍﺮﺑ ﻪﮐ
- ﯽﮕﺘﺴﺑﺍﻭ ﻭ ﯽﺘﯿﻨﻣﺍ ﯼﺎﻫ ﯽﻧﺎﺳﺭ ﺯﻭﺭ ﻪﺑ ﺪﯿﻨﮐ ﺭﺎﮐﺩﻮﺧ ﺍﺭ
.ﺪﯾﺯﺎﺴﺑ ﺍﺭ ﺩﻮﺧ ﯽﻌﻗﺍﻭ ﻥﻮﺘﯾﺎﭘ ﻩﺪﻨﻧﺍﻮﺧ ، ﯽﻠﺒﻗ ﺵﺯﻮﻣﺁ ﮏﯾ ﺯﺍ ﻩﺩﺎﻔﺘﺳﺍ ﺎﺑ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ،
.ﺪﯿﺷﺎﺑ ﻪﺘﺷﺍﺩ ﯽﯾﺎﻨﺷﺁ YAML ﻮﺤﻧ ﺎﺑ ﻭ ﺪﯿﺷﺎﺑ ﺖﺣﺍﺭ Python، Git ﯼﺎﻫ ﻪﺘﺴﺑ ﺖﺧﺎﺳ ،
.ﺪﯿﻨﮐ ﮎﺭﺩ ، ﺪﻨﮐ ﻞﺣ ﺪﻧﺍﻮﺗ ﯽﻣ GitHub ﺕﺎﻣﺍﺪﻗﺍ ﻪﮐ ﺍﺭ ﯽﺗﻼﮑﺸﻣ ﻉﺍﻮﻧﺍ ﺎﺗ ﺪﻨﮐ ﯽﻣ ﮏﻤﮐ ﺎﻤ
CI/CD ﯼﺎﯾﺍﺰﻣ ﻥﺩﺮﮐ ﺯﺎﺑ
ﻪﺘﺳﻮﯿﭘ ﻡﺎﻏﺩﺍ (CI) ﻭ ﺮﻤﺘﺴﻣ ﺭﺍﺮﻘﺘﺳﺍ (CD)، ﻥﺍﻮﻨ
.ﺪﻨﮐ ﯽﻣ ﻩﺩﺭﻭﺁﺮﺑ ﺍﺭ ﻩﮊﻭﺮﭘ ﯼﺎﻫﺯﺎﯿﻧ ، ﺪﮐ ﺖﯿﻔﯿﮐ ﯼﺯﺎﺳ ﺩﺭﺍﺪﻧﺎﺘﺳﺍ ﻦﻤﺿ ﺎﻤﺷ ﻪﺘﺴﺑ ﻪﺑ ﮏﻤﮐ
ﻪﺟﻮﺗ: ﯽﻤﺳﺭ ﺕﺍﺪﻨﺘﺴﻣ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ، ﯽﮑﯾ ﺩﺎﺠﯾﺍ ﯽﮕﻧﻮﮕﭼ ﻭ ﺶﺸﮐ ﺖﺳﺍﻮﺧ
.ﺪﻨﮐ ﯼﺮﯿﮔﻮﻠﺟ ﻥﻮﻣﺯﺁ ﻥﺪﻧﺍﺭﺬﮔ ﻡﺪﻋ ﺕﺭﻮﺻ ﺭﺩ ﻡﺎﻏﺩﺍ ﺯﺍ ﺍﺭ ﺎﻫ PR ﺭﺎﮐﺩﻮﺧ ﺭﻮﻃ ﻪﺑ ﺪﻧﺍﻮﺗ ﯽ
.ﺪﻨﮐ ﮏﻤﮐ GitHub ﺭﺩ ﻩﺪﺷ ﯽﻧﺎﺑﺰﯿﻣ ﻥﺰﺨﻣ ﮏﯾ ﺭﺩ CI/CD ﯼﺯﺎﺳﻩﺩﺎﯿﭘ ﺭﺩ ﺎﻤﺷ ﻪﺑ ﺪﻧﺍﻮﺗ
GitHub ﯼﺭﺎﮐ ﯼﺎﻫﺵﺩﺮﮔ ﺭﺩ ﺵﻭﺎﮐ
GitHub Workflow ﺪﻨﻤﺗﺭﺪﻗ ﯼﺎﻫ ﯽﮔﮋﯾﻭ ﺯﺍ ﯽﮑﯾ GitHub Actions ﺪﯿﻨﮐ ﺍﺮﺟﺍ ﺎﯾ ﺪﯿﻨﮐ ﺶﯾﺎﻣ
.ﺖﺳﺍ ﻩﺪﺷ ﻞﯾﺪﺒﺗ ﺽﺮﻓ ﺶﯿﭘ ﻪﺑ GitHub ﺭﺩ ﺯﺎﺑ ﻊﺒﻨﻣ ﯼﺎﻫ ﻩﮊﻭﺮﭘ ﻦﯿﺑ ﺭﺩ ﺽﺮﻓ ﺶﯿﭘ ﺭﻮﻃ ﻪﺑ ،
ﺭﺎﮐ ﺵﺩﺮﮔ ﻩﺪﻧﻭﺮﭘ ﮏﯾ ﯽﻣﻮﺗﺎﻧﺁ
.ﺪﻧﻮﺷ ﯽﻣ ﻒﯾﺮﻌﺗ ﻭ ﻩﺮﯿﺧﺫ ﺩﻮﺧ ﻩﮊﻭﺮﭘ ﯽﻠﺻﺍ ﺖﺳﺮﻬﻓ ﺭﺩ /ﺭﺎﮐ ﺵﺩﺮﮔ/code> .github>
.ﺪﯿﻨﮐ ﯼﺭﺍﺬﮕﻣﺎﻧ test.yml
ﺪﻨﻧﺎﻣ ، ﺪﻧﺭﻭﺁ ﯽﻣ ﺖﺳﺩ ﻪﺑ ﻪﮐ ﯽﯾﺎﻫﺭﺎﮐ ﺯﺍ ﺲ
.ﺪﯿﻨﮐ ﯽﺳﺭﺮﺑ ﺍﺭ ﻥﺁ ﺎًﻤﺘﺣ ، ﺵﺯﻮﻣﺁ ﻦﯾﺍ ﻥﺪﻧﺍﻮﺧ ﻡﺎﻤﺗﺍ ﺯﺍ ﺲﭘ ﻦﯾﺍﺮﺑﺎﻨﺑ ، ﺖﺳﺍ ﻩﺪﺷ ﻪﺘﺷﻮﻧ
.ﺪﯾﺯﺍﺩﺮﭘ ﯽﻣ ﺩﺭﺍﻮﻣ ﻦﯾﺍ ﻪﺑ ﯼﺪﻌﺑ ﯼﺎﻫ ﺶﺨﺑ ﺭﺩ .ﺎﻫﻡﺎﮔ ﻭ ، :ﺪﻨﻫﺩ ﯽﻣ ﺥﺭ ﺮﯾﺯ ﺩﺭﺍﻮﻣ ﺭﺩ ﻪﮐ ﺪﻨﺘﺴﻫ ﯼﺩﺭﺍﻮﻣ ﺎﻬﻧﺁ ﻦﯾﺮﺗ ﺞﯾﺍﺭ .ﺩﺭﺍﺩ ﺩﻮﺟﻭ ﺎﻫ ﮎﺮﺤﻣ ﺯﺍ :ﺖﺳﺍ ﯽﻠﺻﺍ ﻪﺧﺎﺷ ﻪﺑ ﺪﻫﺩ ﯽﻣ ﺭﺎﺸﻓ ﺮﻫ ﺭﺩ ﺍﺭ ﺭﺎﮐ ﺵﺩﺮﮔ ﮏﯾ ﻪﮐ ﻪﺷﺎﻣ ﮏﯾ ﺯﺍ ﻩﺩ .ﺪﯿﻨﮐ ﯽﺳﺭﺮﺑ ﺍﺭ ﯽﻤﺳﺭ ﺕﺍﺪﻨﺘﺴﻣ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ، ﺖﺳﺍ ﻩﺪﺸﻧ ﻩﺩﺍﺩ ﺶﺷﻮﭘ ﺵﺯﻮﻣﺁ ﻦﯾﺍ ﺭﺩ ﻪﮐ ﯽﯾﺎ .ﻞﻏﺎﺸﻣ :ﺪﯿﻨﮐ ﻒﺸﮐ ﺍﺭ ﺭﺎﮐ ﺵﺩﺮﮔ ﻩﺪﻧﻭﺮﭘ ﮏﯾ ﯼﺪﻌﺑ ﻪﻔﻟﺆﻣ ﻪﮐ ﺖﺳﺍ ﻥﺁ ﺖﻗﻭ ، ﺪﻨﻨﮐ ﯽﻣ ﺩﺎﺠﯾ .ﺪﺷﺎﺑ ﻪﻠﺣﺮﻣ ﺪﻨﭼ ﺎﯾ ﮏﯾ ﻞﻣﺎﺷ ﺪﻧﺍﻮﺗ ﯽﻣ ﺭﺎﮐ ﺮﻫ ﻭ ﺪﺷ ﺪﻫﺍﻮﺧ ﺍﺮﺟﺍ ﻪﮐ ﺪﺷﺎﺑ ﻞﻐﺷ ﺪﻨﭼ ﺎﯾ :ﺖﺳﺍ ﻩﺪﺷ ﻩﺩﺭﻭﺁ ﯼﺍﻪﻠﺣﺮﻣ ﭻﯿﻫ ﻥﻭﺪﺑ ﺶﺨﺑ ﻦﯾﺍ ﯼﺮﻫﺎﻇ ﻞﮑﺷ ﺯﺍ ﯼﺍﻪﻧﻮﻤ .ﺪﯿﺷﺎﺒﻧ ﺩﻮﺧ CI/CD ﯼﺎﻫﺖﺧﺎﺳﺮﯾﺯ ﻆﻔﺣ ﻥﺍﺮﮕﻧ ﺮﮕﯾﺩ ﺎﺗ ﺩﺮﺑﯽﻣ ﻦﯿﺑ ﺯﺍ ﻭ ﻪﯿﻬﺗ ﺍ .ﺪﯿﺑﺎﯿﺑ ﺕﺍﺪﻨﺘﺴﻣ ﺭﺩ ﺍﺭ GitHub ﻥﺎﺑﺰﯿﻣ ﻥﺎﮔﺪﻧﻭﺩ ﻞﻣﺎﮐ ﺖﺴﯿﻟ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ﺎﻤﺷ .ﺪﻨﺘﺴﻫ ﺱﺮﺘ ﻪﺟﻮﺗ: ﺪﯿﻨﮐ ﺍﺪﯿﭘ ﯽﻤﺳﺭ ﺕﺍﺪﻨﺘﺴﻣ ﺭﺩ ﻥﺎﺑﺰﯿﻣ ﺩﻮﺧ ﻥﺎﮔﺪﻧﻭﺩ ﺯﺍ ﻩﺩﺎﻔﺘ :ﺪﺸﮐ ﯽﻣ ﻝﻮﻃ YAML ﻂﺧ ﮏﯾ ﻩﺯﺍﺪﻧﺍ ﻪﺑ ﻩﺪﻧﻭﺩ ﮏﯾ ﻒﯾﺮﻌﺗ ﻪﺨﺴﻧ .ﺩﻮﺷﯽﻣ ﯽﻧﺎﺒﯿﺘﺸﭘ ﻪﮐ ﯽﻧﺎﻣﺯ ﺎﺗ .ﺪﺷﺎﺑ GitHub ﺮﮕﯾﺩ ﻡﺍﺪﻗﺍ ﮏﯾ ﺯﺍ ﻩﺩﺎﻔﺘﺳﺍ ﺎﯾ ﺎﻤﺷ ﺪﮐ ﻥﺩﺮﮐ ﺮﭘ ،ﺎﻫﺶﯾﺎﻣﺯﺁ ﯼﺍﺮﺟﺍ ، .ﺪﯿﻨﮐ ﯽﯾﻮﺟﻪﻓﺮﺻ ﺩﺮﮑﻠﻤﻋ ﻥﺁ ﺩﺪﺠﻣ ﯼﺍﺮﺟﺍ ﯼﺍﺮﺑ ﺩﻮﺧ ﻥﺎﻣﺯ ﺭﺩ ﺎﺗ ﺪﯿﻨﮐﯽﻣ ﻩﺩﺎﻔﺘ .ﺪﯿﻨﮐ ﻩﺩﺎﻔﺘﺳﺍ ﺎﻬﻧﺁ ﻦﺘﻓﺎﯾ ﻩﻮﺤﻧ ﻭ GitHub ﺕﺎﻣﺍﺪﻗﺍ ﺮﯾﺎﺳ ﺯﺍ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ﻪﻧﻮﮕﭼ ﻪﮐ ﺪﯾﺩ .ﺩﻮﺷ ﯽﻣ ﺎﻤﺷ ﺵﻼﺗ ﻭ ﺖﻗﻭ ﺭﺩ ﯽﯾﻮﺟ ﻪﻓﺮﺻ ﺚﻋﺎﺑ ، ﻪﺘﺧﺎﺳ ﺶﯿﭘ ﺯﺍ ﯼﺎﻫﺩﺮﮑﻠﻤﻋ ﺯﺍ ﻩﺩﺎﻔﺘﺳﺍ ﺎﺑ .ﺖﺧﺍﺩﺮﭘ ﺪﯿﻫﺍﻮﺧ ﻥﺁ ﻪﺑ ﻪﻣﺍﺩﺍ ﺭﺩ ﻪﮐ ،ﺪﯿﺑﺎﯿﺑ GitHub ﺭﺍﺯﺎﺑ ﺭﺩ ﺍﺭ GitHub ﻪﺑ ﻁﻮﺑﺮﻣ ﺕﺎ .ﺪﻨﮐ ﻩﺩﺎﻔﺘﺳﺍ ﺭﺍﺯﺎﺑ ﺭﺩ ﻥﺁ ﯽﻧﺎﺑﺰﯿﻣ ﻭ ﺩﻮﺧ ﻞﻤﻋ ﺩﺎﺠﯾﺍ ﯼﺍﺮﺑ GitHub ﻡﺍﺪﻗﺍ ﯼﻮﮕﻟﺍ ﺯﺍ ﺪﻧ .ﺖﺳﺍ ﻥﺎﮕﯾﺍﺭ ﻩﺩﺎﻔﺘﺳﺍ ﻭ ﺯﺎﺑ ﻊﺒﻨﻣ GitHub ﺭﺍﺯﺎﺑ ﺭﺩ ﺩﻮﺟﻮﻣ ﺕﺎﻣﺍﺪﻗﺍ ﻪﯿﻠﮐ .ﺖﺳﺍ ﻩﺪﺷ ﺭﻮﺼ .ﺩﺮﮐ ﺪﯿﻫﺍﻮﺧ ﻩﺪﻫﺎﺸﻣ ،ﺩﺮﮐ ﺪﯿﻫﺍﻮﺧ ﻩﺩﺎﻔﺘﺳﺍ ﻥﻮﺘﯾﺎﭘ ﻩﮊﻭﺮﭘ ﺮﻫ ﯼﺍﺮﺑ ﻪﮐ ﺍﺭ GitHub ﻦﺸﮐﺍ :ﺩﺭﺍﺩ ﺭﺎﮐ ﻭﺩ ﺮﻫ ﻪﺑ ﮏﻤﮐ ﯼﺍﺮﺑ GitHub ﯽﻤﺳﺭ ﺕﺎﻣﺍﺪﻗﺍ GitHub ، ﻪﻧﺎﺘﺨﺒﺷﻮﺧ .ﺪﯿﻨﮐ ﻢﯿﻈﻨﺗ .ﺪﯿﻨﮐ ﺺﺨﺸﻣ ﺍﺭ ﯽﻠﺻﺍ ﻪﺨﺴﻧ ﻦﯾﺮﺧﺁ ﺎﺗ ﺪﯿﻨﮐ ﻪﻌﺟﺍﺮﻣ ﻥﺁ ﻪﺑ ﻮﺤﻧ ﻦﯾﺍ ﺯﺍ ﻩﺩﺎﻔﺘﺳﺍ ﺎﺑ ﺪﯿﻧﺍﻮ .ﺪﯿﻨﮐ ﻪﻓﺎﺿﺍ ﻪﻠﺣﺮﻣ ﻪﺑ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ﻪﮐ ﺪﯿﺷﺎﺑ ﻪﺘﺷﺍﺩ ﯽﻓﺎﺿﺍ ﺕﺎﻤﯿﻈﻨﺗ ، ﻪﻤﻫ ﻪﻧ ﺮﮔﺍ ، ﺕﺎﻣ .ﺪﯿﻨﮐ ﺐﺼﻧ ﺪﯿﻫﺍﻮﺧ ﯽﻣ ﻪﮐ ﺍﺭ ﻥﻮﺘﯾﺎﭘ ﺯﺍ ﻪﺨﺴﻧ ﻡﺍﺪﮐ ﺪﯿﻨﮐ ﻡﻼﻋﺍ ﻪﮐ ﺖﺳﺍ ﻦﯾﺍ ﺩﻮﺧ ﺭﺎﮐ ﺵﺩﺮ .ﺪﯿﻨﮐ ﯽﻣ ﺐﺼﻧ ﺯﺎﯿﻧ ﺩﺭﻮﻣ ﻩﺪﻧﻭﺮﭘ ﺯﺍ ﺍﺭ ﻩﮊﻭﺮﭘ ﯼﺎﻫ ﯽﮕﺘﺴﺑﺍﻭ ﺎﻤﺷ ، ﺖﻟﺎﺣ ﻦﯾﺍ ﺭﺩ .ﺪﯿﻨﮐ .ﺪﯾﺭﺍﺩ ، ﺖﺳﺍ ﻩﺩﺎﻣﺁ ﺩﻮﺧ Python ﻩﮊﻭﺮﭘ ﺭﺍﺮﻘﺘﺳﺍ ﻭ ﺶﯾﺎﻣﺯﺁ ، ﺖﺧﺎﺳ ﯼﺍﺮﺑ ﻪﮐ ﯽﻄﯿﺤﻣ ﻢﯿﻈﻨ .ﺩﺍﺩ ﺪﯿﻫﺍﻮﺧ ﻡﺎﺠﻧﺍ ﯽﻌﻗﺍﻭ ﯼﺎﯿﻧﺩ ﺭﺩ ﻝﺎﺜﻣ ﮏﯾ ﺎﺑ ﺍﺭ ﺭﺎﮐ ﻦﯾﺍ ،ﯼﺪﻌﺑ ﺶﺨﺑ ﺭﺩ .ﺪﯾﺭﺍﺩ ﻩﮊﻭ .ﺪﯿﻨﮐ ﯽﻃ ﺍﺭ Real Python Reader ﯽﻨﻌﯾ ،ﺩﻮﺟﻮﻣ ﯽﻌﻗﺍﻭ ﯼﺎﯿﻧﺩ ﻩﮊﻭﺮﭘ ﮏﯾ ﻪﺑ CI/CD ﻥﺩﻭﺰﻓ .ﺖﺳﺍ ﻥﺪﻧﺍﻮﺧ ﻞﺑﺎﻗ ﻭ ﺰﯿﻤﺗ PYPI ﻪﺑ ﻪﺘﺴﺑ ﺭﺍﺮﻘﺘﺳﺍ ﺯﺍ ﻞﺒﻗ ﺎﻤﺷ ﺪﮐ ﻪﮐ ﺪﯿﻨﮐ ﯽﻣ ﻞﺻﺎﺣ ﻥﺎﻨ ﻪﺟﻮﺗ: ﻩﺩﺮﭘ ﺮﮔﺍﯽﻣ ،ﺖﺳﺍ ﯼﺪﯾﺪﺟ ﻡﻮﻬﻔﻣ ﺎﻤﺷ ﯼﺍﺮﺑ ﯼﺪﻨﺑﺩﺭﻮﻣ :ﺪﯿﻨﮐ ﻦﯾﺰﮕﯾﺎﺟ ﺩﻮﺧ GitHub ﯼﺮﺑﺭﺎﮐ ﻡﺎﻧ ﺎﺑ ﺍﺭ ﺩﻮﺧ ﻡﺎﻧ ﺎًﻤﺘﺣ .ﺪﯿﻨﮐ ﻥﻮﻠﮐ ﺍﺭ ﻥﺁ ﺲ .ﺪﯾﺍ ﻩﺩﺮﮐ ﺝﺭﺩ ﺍﺭ ﺎﻫ ﻪﺧﺎﺷ ﻪﻤﻫ ﺭﺎﺑ ﻦﯾﺍ ﻪﮐ ﺪﯿﻨﮐ ﻞﺻﺎﺣ ﻥﺎﻨﯿﻤﻃﺍ ﻭ ﺪﯿﻨﮐ ﮎﺭﻮﻓ ﺍﺭ ﻥﺁ ﻩﺭ .ﺪﺷﺎﺑ ﻪﺟﻮﺗ: ﯽﻣ ﺍﺪﺟ ﺍﺭ ﯽﻧﺰﺨﻣ ﻪﮐ ﯽﻣﺎﮕﻨﻫﺕﺎﻣﺍﺪﻗﺍ ﯼﺍﺭﺍﺩ ﻪﮐ ﺪﯿﻨﮐ Git :ﺪﯿﻨﮐ ﻒﯾﺮﻌﺗ :ﺪﯿﻨﮐ ﺮﺘﻠﯿﻓ ﺩﻮﺧ ﯽﻠﺒﻗ ﯼﺭﺎﮐ ﯼﺎﻫﺵﺩﺮﮔ ﻖﯾﺮﻃ ﺯﺍ ﻭ ﻩﺩﺮﮐ ﯽﯾﺎﺳﺎﻨﺷ ﺍﺭ ﺩﻮﺟﻮﻣ ﯼﺭﺎﮐ ﯼﺎ :ﺪﻨﻨﮐ ﺯﺎﻏﺁ ﺍﺭ ﺭﺎﮐ ﺵﺩﺮﮔ ﺪﻨﻧﺍﻮﺗ ﯽﻣ ﻪﮐ ﺖﺳﺍ ﻩﺪﺷ ﻒﯾﺮﻌﺗ ﻒﻠﺘﺨﻣ ﺮﮕﯾﺮﺗ ﻪﺳ ،ﻻﺎﺑ ﺪﮐ ﺭﺩ .ﺪ ﻥﺰﺨﻣ .ﺪﯿﻨﮐ ﻩﺩﺎﻔﺘﺳﺍ ﺩﻮﺧ ﺭﺩ ﻪﺟﻮﺗ: ﻪﺧﺎﺷ ﺭﺩ ﯽﯾﺎﻫﺩﺍﺪﯾﻭﺭ ﻂﺳﻮﺗ ﺭﺎﮐ ﺵﺩﺮﮔ ﻦﯾﺍ master .ﺪﺷﺎﺑ ﺽﺮﻓ ﺶﯿﭘ ﻪﺧﺎﺷ ﺭﺩ ﺭﺎﮐ ﺵﺩﺮﮔ ﻩﺪﻧﻭﺮﭘ ﻪﮐ ﺪﻨﮐ ﯽﻣ ﺭﺎﮐ ﯽﻧﺎﻣﺯ ﻂﻘﻓ workflow_ :ﻂﯿﺤﻣ ﯼﺪﻨﺑﺮﮑﯿﭘ ﻭ ﺎﻫ ﻞﻐﺷ ﻒﯾﺮﻌﺗ ﯽﻨﻌﯾ ،ﺪﯾﻭﺮﺑ ﺭﺎﮐ ﺵﺩﺮﮔ ﻞﯾﺎﻓ ﺩﺎﺠﯾﺍ ﺭﺩ ﯼﺪﻌﺑ ﻪﻠﺣﺮﻣ ﻪﺑ .ﺪﯾﺍﻩﺩﺮﮐ ﻒﯾﺮﻌﺗ .ﺪﻨﮐ ﯽﻣ ﻩﺩﺎﻔﺘﺳﺍ ﺶﮐ ﯼﺎﻫ ﻪﺨﺴﻧ ﺯﺍ ،PyPI ﺯﺍ ﺎﻬﻧﺁ ﻥﺪﯿﺸﮐ ﻥﻭﺮﯿﺑ ﯼﺎﺟ ﻪﺑ .ﺪﻨﮐﯽﻣ ﮏﻤ ﻪﺟﻮﺗ: ﺕﺍﺪﻨﺘﺴﻣ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ،ﺩﻮﺧ ﺭﺎﮐ ﺵﺩﺮﮔ ﺭﺩ ﻥﺎﻬﻨﭘ ﻪﻈﻓﺎﺣ ﺯﺍ ﻩﺩﺎﻔﺘ :ﺪﯿﻫﺩ ﻡﺎﺠﻧﺍ ﺩﻮﺧ .ﺪﻨﮐ ﯽﻣ ﺍﺮﺟﺍ ﺐﯿﺗﺮﺗ ﻪﺑ ﺍﺭ ﺎﻬﻧﺁ ﻭ ﺪﻨﮐ ﯽﻣ ﺮﯿﺴﻔﺗ ﻪﻧﺎﮔﺍﺪﺟ ﺕﺍﺭﻮﺘﺳﺩ ﻥﺍﻮﻨﻋ ﻪﺑ ﺍﺭ ﺮﯾﺯ ﻁ .ﺩﻮﺷ ﻪﻨﯿﻬﺑ ﻪﺟﻮﺗ: ﻞﻤﻋ ﺎﺑ ﺍﺭ ﺮﺧﺁ ﻪﻠﺣﺮﻣ ﻭﺩ ﻦﯾﺍ ﺖﺳﺍ ﻦﮑﻤﻣ ، ﺪﯾﺭﺍﺩ ﺽﺮﻓ ﺶﯿﭘ ﺯ :ﺪﯿﻨﮐ ﮏﯿﻠﮐ ﺭﺎﮐ ﺵﺩﺮﮔ ﯼﺍﺮﺟﺍ ﯼﻭﺭ ﺲﭙﺳ ﻭ ﺪﯿﻨﮐ ﺏﺎﺨﺘﻧﺍ ﭗﭼ ﺖﻤﺳ ﺯﺍ ﺍﺭ ﺮﻈﻧ ﺩﺭﻮﻣ .ﺪﻨﮐ ﺍﺮﺟﺍ Real Python Reader ﯼﻭﺭ ﺍﺭ ﯽﺸﯾﺎﻣﺯﺁ ﻪﻋﻮﻤﺠﻣ ﻪﮐ ﺪﯿﻨﮐ ﺩﺎﺠﯾﺍ ﺍﺭ ﯼﺍ ﻪﻋﻮﻤﺠﻣ .ﺭﺎﮐﺩﻮﺧ ﺶﯾﺎﻣﺯﺁ :ﺪﯿﻨﮐ ﻩﺎﮕﻧ ﺩﻮﺑ ﺪﻫﺍﻮﺧ ﻪﺘﺴﺑ ﻦﯾﺍ ﯼﺭﺎﮐ ﻥﺎﯾﺮﺟ ﻦﯾﺮﺘﻤﻬﻣ ﺎًﻤﻠﺴﻣ ﻪﭽﻧﺁ ﻪﺑ Real Python Reader ﺯﺍ :ﺪﯿﻨﮐ ﻡﻼﻋﺍ ﺍﺭ ﯽﺸﯾﺎﻣﺯﺁ ﺭﺎﮐ ﺵﺩﺮﮔ ﯼﺎﻫﮎﺮﺤﻣ ﺪﯾﺎﺑ ،GitHub ﯼﺭﺎﮐ ﯼﺎﻫﺵﺩﺮﮔ ﻡﺎﻤ .ﺪﻨﮐ ﺩﺎﺠﯾﺍ ﺍﺭ ﺭﺎﮐ ﺵﺩﺮﮔ ﻦﯾﺍ ﺎﺗ ﺪﻫﺩ ﯽﻣ ﻩﺯﺎﺟﺍ ﺭﺎﮐ ﺵﺩﺮﮔ ﺮﯾﺎﺳ ﻪﺑ ﻪﮐ ﺖﺳﺍ ﻩﺪﺷ ﻒﯾﺮﻌﺗ ﺶ .ﺪﯾﺭﺍﺩ ﻪﮕﻧ ﯼﺩﻭﺪﺣ ﺎﺗ ﻭ ﺮﺗ ﻩﺎﺗﻮﮐ ﺍﺭ ﺩﻮﺧ ﺭﺎﮐ ﺵﺩﺮﮔ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ﻭ ، ﺖﺴﯿﻧ ﺭﺍﺮﮑﺗ ﺮﮕﯾﺩ ﻦ :ﯼﺪﯿﻠﮐ ﻪﻤﻠﮐ .ﺖﺳﺍ GitHub ﺕﺎﻣﺍﺪﻗﺍ ﺯﺍ ﮒﺭﺰﺑ ﺖﯾﺰﻣ ﮏﯾ ﺭﺎﮐ ﺵﺩﺮﮔ ﺯﺍ ﺩﺪﺠﻣ ﻩﺩﺎﻔﺘﺳﺍ .ﺖﺳﺍ ﺪﻨﻤﺗﺭﺪﻗ ﺭﺪﻘﭼ .ﺪﺷﺎﺑ ﻥﻮﺘﯾﺎﭘ ﺯﺍ ﯽﺗﻭﺎﻔﺘﻣ ﻪﺨﺴﻧ ﯼﻭﺭ ﺮﺑ ﺍﺮﺟﺍ ﺮﻫ ﻭ ﺪﯿﻨﮐ ﺍﺮﺟﺍ ﺭﺎﺑ ﻦﯾﺪﻨﭼ ﺍﺭ ﺎﻬﻧﺁ ﻭ ﺪﯿ :ﺖﺳﺍ ﺮﯾﺯ ﻞﮑﺷ ﻪﺑ ﻪﮐ ،ﺪﯾﺩﺮﮐ ﻩﺩﺎﻔﺘﺳﺍ ﻮﺘﻧﻮﺑﻭﺍ ﻪﻧﻮﻤﻧ ﺭﺩ Python 3.13 ﯼﺯﺍﺪﻧﺍﻩﺍﺭ .ﺖﺳﺍ ﻥﻮﺘﯾﺎﭘ ﺯﺍ ﻪﺨﺴﻧ ﻦﯾﺪﻨﭼ ﯼﻭﺭ ﺮﺑ ﺶﯾﺎﻣﺯﺁ ﯼﺍﺮﺑ :ﯽﻤﺳﺭ ﺩﺎﻨﺳﺍ ﺯﺍ ﻝﻮﻗ ﻞﻘﻧ ﯼﺍﺮﺑ (ﻊﺒﻨﻣ) .ﺪﯿﻨﮐ ﻩﺩﺎﻔﺘﺳﺍ ﻞﻣﺎﻋ ﻢﺘﺴﯿﺳ ﻦﯾﺪﻨﭼ ﺎﯾ ﻥﺎﺑﺯ ﮏﯾ ﺯﺍ ﻪﺨﺴﻧ ﻦﯾﺪﻨﭼ ﺭﺩ ﺩﻮﺧ ﺪﮐ ﺶﯾﺎﻣﺯ .ﺪﯿﻨﮐ ﻩﺩﺎﻔﺘﺳﺍ ﺰﯿﻧ ﻒﻠﺘﺨﻣ ﯼﺎﻫﻞﻣﺎﻋﻢﺘﺴﯿﺳ ﯼﻭﺭ ﺮﺑ ﺩﻮﺧ ﺪﮐ ﺖﺧﺎﺳ ﺎﯾ ﺍﺮﺟﺍ ﯼﺍﺮﺑ :ﺪﯿﻨﮐ ﻒﯾﺮﻌﺗ ﺍﺭ ﺩﻮﺧ ﺯﺎﯿﻧ ﺩﺭﻮﻣ ﯼﮋﺗﺍﺮﺘﺳﺍ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ، ﺩﻮﺧ ﺭﺎﮐ ﺯﺍ ﯽﺸﺨﺑ ﻥﺍﻮﻨﻋ ﻪﺑ ﺎﻣﺍ :ﺪﯿﻨﮐ ﻩﺩﺎﻔﺘﺳﺍ ﻩﮋﯾﻭ ﺮﯿﻐﺘﻣ ﻮﺤﻧ ﮏﯾ ﺯﺍ ﻩﺩﺎﻔﺘﺳﺍ ﺎﺑ ﺎﻫﻪﺨﺴﻧ ﻦﯾﺍ ﺯﺍ ﺪﯿﻫﺍﻮﺧﯽﻣ .ﺖﺳﺍ ﺪﯿﻔﻣ ،ﺩﻮﺷ ﯽﻣ ﺍﺮﺟﺍ ﻥﻮﺘﯾﺎﭘ ﻒﻠﺘﺨﻣ ﻪﺨﺴﻧ ﺞﻨﭘ ﯼﺍﺮﺑ ﻪﻠﺣﺮﻣ ﻦﯾﺍ ﻪﮑﻨﯾﺍ ﻪﺑ ﻪﺟﻮﺗ ﺎﺑ . .ﺲﯾﺮﺗﺎﻣ ﺭﺩ ﻩﺪﺷ ﻒﯾﺮﻌﺗ GitHub ﯼﮋﺗﺍﺮﺘﺳﺍ ﺯﺍ ﯽﺸﺨﺑ ﻥﺍﻮﻨﻋ ﻪﺑ ﺲﯾﺮﺗﺎﻣ ﻒﯾﺮﻌﺗ ﺎﺑ .ﺖﺳﺍ ﺩﺭﺍﻮﻣ ﻦﯾﺍ ﺯﺍ ﯽﮑﯾ ﺲﯾﺮﺗﺎﻣ :ﻝﺎﺜﻣ ﻥﺍﻮﻨﻋ ﻪﺑ .ﺪﯿﻫﺩ ﻡﺎﺠﻧﺍ ﻞﻣﺎﻋ ﻢﺘﺴﯿﺳ ﻒﻠﺘﺨﻣ ﯼﺎﻫ ﻪﺨﺴﻧ ﺎﺑ ﺍﺭ ﺭﺎﮐ ﻦﯿﻤﻫ ﺪﯿﻧﺍﻮﺗ ﯽﻣ .ﺪﯿﻨﮐ ﻩﺩﺎﻔﺘﺳﺍ ﺪﯾﺍ ﻩﺩﺮﮐ ﻒﯾﺮﻌﺗ .ﺪﯿﻨﮐ ﻞﯿﻤﮑﺗ ﻞﻣﺎﮐ ﺭﻮﻃ ﻪﺑ ﺍﺭ ﺶﯾﺎﻣﺯﺁ ﺭﺎﮐ ﺵﺩﺮﮔ ﻪﮐ ﺖﺳﺍ ﻩﺪﯿﺳﺭ ﻥﺁ ﻥﺎﻣﺯ ،ﺪﯿﻨﮐ ﻩﺩﺎﻔﺘﺳﺍ .ﺪﻨﮐ ﺍﺮﺟﺍ ﺍﺭ :ﺪﯿﻨﮐ ﺐﺼﻧ ﺪﯾﺍ ﻩﺩﺮﮐ ﺐﺼﻧ ﺮﺗﺩﻭﺯ ﺍﺭ Ruff ﻪﮐ ﯽﺷﻭﺭ ﻥﺎﻤﻫ ﻪﺑ ﺍﺭ ﺎﻬﻧﺁ ﺪﯿﻧﺍﻮﺗ ﯽﻣ :ﺖﺳﺍ .ﺪﯿﻨﮐ ﺮﺸﺘﻨﻣ PYPI ﻪﺑ ﺍﺭ ﯼﺍ ﻪﺘﺴﺑ ﺭﺎﮐﺩﻮﺧ ﺭﻮﻃ ﻪﺑ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ﻪﻧﻮﮕﭼ ﻪﮐ ﺪﯾﺮﯿﮔ ﯽﻣ ﺩﺎﯾ ﻭ .ﺩﻮﺷ ﻡﺍﺰﻋﺍ PYPI ﻪﺑ ﺪﻧﺍﻮﺗ ﯽﻣ ﻪﮐ ، ﺪﻨﮐ ﺪﯿﻟﻮﺗ ﺍﺭ ﻥﻮﺘﯾﺎﭘ ﻊﯾﺯﻮﺗ ﯼﺎﻫ ﻩﺪﻧﻭﺮﭘ ﺎﺗ ﺪﻨﮐ ﯽ .ﺩﻮﺷ ﯽﻣ ﺎﻤﺷ ﺖﻗﻭ ﺭﺩ ﯽﯾﻮﺟ ﻪﻓﺮﺻ ﺚﻋﺎﺑ ، ﺩﻮﺧ ﺭﺎﮐ ﺵﺩﺮﮔ ﺭﺩ ﯽﻟﺎﻤﺘﺣﺍ ﺕﻻﺎﮑﺷﺍ ﺯﺍ ﯼﺮﯿﮔﻮﻠﺟ :ﺖﺳﺍ ﻩﺪﺷ ﻩﺩﺭﻭﺁ .ﺪﯿﻨﮐ ﯽﻣ ﻪﺘﺷﻮﻧ ﺍﺭ ﺩﻮﺧ ﺭﺎﮐ ﺵﺩﺮﮔ ﺯﺍ ﯽﺑﻮﺧ ﺶﺨﺑ ﻭ ﺪﯾﺯﺍﺩﺮﭘ ﯽﻣ ﺖﺴﯿﻟ ﻝﻭﺍ ﺩﺭﻮﻣ ﻭﺩ ﻪﺑ ،ﯼ .ﺖﺴﯿﻧ ﻝﺁﻩﺪﯾﺍ Real Python Reader ﯼﺍﺮﺑ ﯽﻠﺻﺍ ﻪﺧﺎﺷ ﻪﺑ ﻥﺩﺍﺩ ﺭﺎﺸﻓ ﺎﯾ ﺪﯾﺪﺟ ﯽﻣﻮﻤﻋ .ﺖﺳﺍ Git ، ﻩﺪﻨﻫﺩ ﻪﻌﺳﻮﺗ ﺖﺳﻭﺩ ﻦﯾﺮﺘﻬﺑ ﺯﺍ ﻩﺩﺎﻔﺘﺳﺍ ﻪﺨﺴﻧ ﺯﺍﺪﻧﺍ ﺖﺳﺩ ﺯﺍ ﺲﭘ ﯼﺍ ﻪﺨﺴﻧ ﻦﯿﻨ Git ﮏﯾ ﻪﮐ ﺪﻫﺩ ﯽﻣ ﺍﺭ ﻥﺎﮑﻣﺍ ﻦﯾﺍ ﺎﻤﺷ ﻪﺑ commit ﺖﺳﺍ ﺪﯾﺪﺟ ﻪﺨﺴﻧ ﻒﯾﺮﻌﺗ ﯼﺍﺮﺑ ﯽﺑﺎﺨﺘﻧﺍ ﺭ .ﺩﺭﺍﺩ ﺖﻘﺑﺎﻄﻣ ﺮﮕﯾﺩ ﻪﺴﯾﻮﻧ ﮏﯾ ﺖﯾﺎﻬﻧ ﺭﺩ ﻭ ﺮﮕﯾﺩ ﺭﺎﺸﻋﺍ ﻪﻄﻘﻧ ﮏﯾ ،ﺮﮕﯾﺩ ﻪﺴﯾﻮﻧ ﮏﯾ ،( .ﺩﻮﺑ ﺪﻫﺍﻮﺧ ﺮﺒﺘﻌﻣ ﺐﺴﭼﺮﺑ ﮏﯾ v1.0.0 ، ﻝﺎﺜﻣ ﻥﺍﻮﻨﻋ ﻪﺑ .ﺖﺳﺍ ﻪﺨﺴﻧ ﻒﻔﺨﻣ ﻪﮐ :ﺪﯿﻨﮐ ﮓﺗ ﻪﺨﺴﻧ ﻡﺎﻧ ﺎﺑ ﺍﺭ commit ﮏﯾ ،ﺭﺎﮐ ﺵﺩﺮﮔ ﻦﯾﺍ ﯼﺯﺍﺪﻧﺍ ﻩﺍﺭ ﯼﺍﺮﺑ :ﺪﯿﻨﮐ ﯽﻣ ﺐﺼﻧ ﺍﺭ ﺎﻫ ﯽﮕﺘﺴﺑﺍﻭ ﻭ ﻩﺩﺮﮐ ﻢﯿﻈﻨﺗ ﺍﺭ ﻂﯿﺤﻣ ، ﺪﻌﺑ ﻪﻠﺣﺮﻣ ﺭﺩ .ﺪﻨﮐ ﯽﻣ ﮏﯾﺮﺤﺗ ﺍ .ﺪﻫﺩ ﯽﻣ ﺭﺍﺮﻗ .ﺪﯾﺭﺍﺩ ﻪﮕﻧ ﻦﻤﯾﺍ ﺍﺭ ﺩﻮﺧ Token PYPI API ﺪﯿﻧﺍﻮﺗ ﯽﻣ ﻪﻧﻮﮕﭼ ﻪﮐ ﺪﯿﻧﺍﺪﺑ ﺪﯾﺎﺑ ، ﺪﯾﻮﺷ ﺮﻘ .ﺪﻨﮐ ﺍﺪﯿﭘ ﯽﺳﺮﺘﺳﺩ ﺱﺎﺴﺣ ﯼﺎﻫ ﻪﻣﺎﻧﺭﺎﺒﺘﻋﺍ ﻥﺁ ﻪﺑ .ﺪﻨﻨﮐ ﯽﻣ ﻞﯾﺪﺒﺗ GitHub ﯽﮔﮋﯾﻭ ﻦﯾﺍ ﺯﺍ ﻩﺩﺎﻔﺘﺳﺍ ﻩﻮﺤﻧ ﯼﺮﯿﮔﺩﺎﯾ ﯼﺍﺮﺑ ﻊﺒﻨﻣ ﻦﯾﺮﺘﻬﺑ ﻪﺑ ﺍﺭ :ﺪﯿﻨﮐ ﺍﺪﯿﭘ ﯽﺳﺮﺘﺳﺩ ﻥﺁ ﻪﺑ ﺭﺎﮐ ﺵﺩﺮﮔ ﺭﺩ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ، GitHub ﺯﺍﺭ ﮏﯾ ﻥﺍﻮﻨﻋ ﻪﺑ ﺩﻮﺧ API .ﺪﻨﮐﯽﻣ ﻮﺠﺘﺴﺟ ﻪﺘﺴﺑ ﺯﺍ ﯼﺪﯾﺪﺟ ﻪﺨﺴﻧ ﺮﻫ ﻥﺩﺮﮐ ﺩﻮﻠﭘﺁ ﯼﺍﺮﺑ ﺎﻤﺷ .ﺪﯿﻨﮐ ﻩﺩﺎﻔﺘﺳﺍ API scoped ﻪﻧﺎﺸﻧ ﮏﯾ ﺯﺍ ﺭﺎﮐﺩﻮﺧ ﺭﺎﺸﺘﻧﺍ ﯼﺍﺮﺑ ﻥﺁ ﯼﺎﺟ ﻪﺑ ﻪﮐ ﺖﺳﺍ ﻞﻤﻋ ﻦ .ﺪﯿﻨﮐ ﻩﺩﺎﻔﺘﺳﺍ .ﺪﯿﻫﺩ ﯽﻣ ﻉﺎﺟﺭﺍ ﺭﺎﮐ ﺵﺩﺮﮔ ﻞﺧﺍﺩ ﺭﺩ ﻡﺎﻧ ﻥﺁ ﺯﺍ ﻩﺩﺎﻔﺘﺳﺍ ﺎﺑ ﺍﺭ ﻥﺁ ﺎﻤﺷ ﻦﯾﺍﺮﺑﺎﻨﺑ ، ﺖﺳﺍ .ﺪﯿﻫﺩ ﻪﺋﺍﺭﺍ .ﺪﯿﻨﮐ ﯽﮔﺪﯿﺳﺭ ﻭ ﯽﯾﺎﺳﺎﻨﺷ ، ﺩﻮﺷ ﯽﺗﻼﮑﺸﻣ ﺩﺎﺠﯾﺍ ﺚﻋﺎﺑ ﺖﺳﺍ ﻦﮑﻤﻣ ﻪﮐ ﺍﺭ ﯽﻟﺎﻤﺘﺣﺍ ﺕﻼﮑﺸﻣ ، .ﺪﯿﻨﮐ ﺮﺸﺘﻨﻣ ﺍﺭ ﺩﻮﺧ ﻪﺨﺴﻧ ﺪﻫﺩ ﯽﻣ ﻥﺎﮑﻣﺍ ﺎﻤﺷ ﻪﺑ ﻩﮊﻭﺮﭘ ﻡﺎﻧ ﯽﻧﺎﺳﺭﺯﻭﺭ ﻪﺑ .ﺪﯾﺭﺍﺪﻧ PYPI :ﺪﯿﻨﮐ ﻪﻓﺎﺿﺍ ﻩﮊﻭﺮﭘ ﻡﺎﻧ ﺪﻧﻮﺸﯿﭘ ﻥﺍﻮﻨﻋ ﻪﺑ ﺍﺭ ﺩﻮﺧ ﯼﺮﺑﺭﺎﮐ ﻡﺎﻧ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ، ﻪﻧﻮﻤﻧ ﻥﺍﻮﻨ .ﺪﺷ ﺪﯿﻫﺍﻮﺧ ﺎﻨﺷﺁ GitHub ﻂﯿﺤﻣ ﯼﺎﻫﺮﯿﻐﺘﻣ ﺎﺑ ،ﺪﯿﻫﺩ ﻡﺎﺠﻧﺍ ﺍﺭ ﺭﺎﮐ ﻦﯾﺍ ﺪﯿﻧﺍﻮﺘﺑ ﻪﮑﻨﯾﺍ ﺯ .ﺪﯾﺭﺍﺩ ﯽﺳﺮﺘﺳﺩ ﻥﺁ ﻪﺑ ﻪﺸﯿﻤﻫ ﺯﺎﯿﻧ ﺕﺭﻮﺻ ﺭﺩ ﻪﮐ ﺖﺳﺎﻨﻌﻣ ﻥﺍﺪﺑ ﻦﯾﺍ .ﺪﻨﮐ ﯽﻣ ﺩﺎﺠﯾﺍ ﯽﻔﺨﻣ ﻪ .ﺖﺳﺍ :ﺪﺳﺭ ﯽﻣ ﺮﻈﻧ ﻪﺑ ﺭﺎﮐ ﺵﺩﺮﮔ ﺭﺩ ﻪﮐ ﺪﺳﺭ ﯽﻣ ﺮﻈﻧ ﻪﺑ ﺎﺠﻨﯾﺍ ﺭﺩ .ﺩﺮﮐ ﺩﺎﺠﯾﺍ GitHub ﻪﺨﺴﻧ ﺩﺎ .ﺪﺷﺎﺑ ﻪﺘﺷﺍﺩ ﯽﺳﺮﺘﺳﺩ ﻪﻧﺎﻣﺮﺤﻣ ﻪﻨﯿﻣﺯ ﺩﻮﺧ ﻪﺑ ﺎًﻤﯿﻘﺘﺴﻣ ﺪﻧﺍﻮﺗﯽﻤﻧ GitHub CLI .ﺖﺷﺍﺩ GitHub ﻡﺎﻧ ﻪﺑ ﻩﮋﯾﻭ ﻪﻨﯿﻣﺯ ﮏﯾ ﻪﺑ ﺪﻫﺩ ﯽﻣ ﻥﺎﮑﻣﺍ ﺎﻤﺷ ﻪﺑ ﻦﯿﻨﭽﻤﻫ github (ﻊﺒﻨﻣ) .ﺪﺷ ﺭﺎﮐ ﺵﺩﺮﮔ ﯼﺍﺮﺟﺍ ﺚﻋﺎﺑ ﻪﮐ ﺐﺴﭼﺮﺑ ﺎﯾ ﻪﺧﺎﺷ ﻩﺎﺗﻮﮐ ﻡﺎﻧ .ﺖﺳﺍ Git ﮓﺗ ﻡﺎﻧ ﺩﺭﻮﻣ ﻦﯾﺍ ﺭﺩ ﻪﮐ ،ﺩﻮﺷﯽﻣ ﻦﯾﺰﮕﯾﺎﺟ ،ﺪﻨﮐﯽﻣ ﯼﺯﺍﺪﻧﺍﻩﺍﺭ .ﺪﻨﻫﺩﯽﻣ ﻥﺎﺸﯾﺎﻫﺖﮐﺭﺎﺸﻣ ﯼﺍﺮﺑ ﯼﺮﺑﺭﺎﮐ ﯼﺎﻫﻡﺎﻧ ﻭ ﺎﻫﺪﻧﻮﯿﭘ ﺎﺑ ﻥﺎﮔﺪﻨﺴﯾﻮﻧ .ﺩﺮﮐ ﺶﯾﺍﺮﯾﻭ ﺩﺎﺠﯾﺍ ﺯﺍ ﺲﭘ ﺍﺭ ﺕﺍﺭﺎﺸﺘﻧﺍ ﻥﺍﻮﺗﯽﻣ ،ﺥﻮﺴﻨﻣ ﯼﺎﻫﻪﯿﻣﻼﻋﺍ ﺪﻨﻧﺎﻣ ،ﯽ :ﺩﻮﺷ ﺍﺮﺟﺍ ﺖﯿﻘﻓﻮﻣ ﺎﺑ ﺪﯾﺎﺑ ﯽﯾﺎﻬﻧ ﺭﺍﺮﻘﺘﺳﺍ ﺭﺎﮐ ﺵﺩﺮﮔ ﻭ ،ﺪﯿﻨﮐ ﯼﺭﺍﺬﮔﺐﺴﭼﺮﺑ ﺍﺭ ﺩﻮﺧ .ﺡﻼﻄﺻﺍ ﻪﺑ ،ﺎﻣ CI/CD ﮏﯿﮐ ﯼﻭﺭ ﺱﻼﯿﮔ .ﺪﯿﻨﮐ ﻪﻓﺎﺿﺍ Real Python Reader ﻪﺑ ﺍﺭ ﺮﮕﯾﺩ ﺭﺎﮐ .ﺖﺧﻮﻣﺁ ﺪﯿﻫﺍﻮﺧ ﺍﺭ ﯽﮕﺘﺴﺑﺍﻭ ﻭ ﯽﺘﯿﻨﻣﺍ ﯼﺎﻫﯽﻧﺎﺳﺭﺯﻭﺭﻪﺑ ﯼﺯﺎﺳﺭﺎﮐﺩﻮﺧ ﯼﺍﺮﺑ Depe .ﺖﺳﺍ ﺭﺍﻮﺷﺩ ﺎﻫ ﯽﮕﺘﺴﺑﺍﻭ ﺖﯾﺮﯾﺪﻣ ﻭ ﻆﻔﺣ ﻦﯾﺍﺮﺑﺎﻨﺑ ، ﺪﻨﺘﺴﻫ ﯽﻧﺎﺳﺭﺯﻭﺭ ﻪﺑ ﻭ ﺮﯿﯿﻐﺗ ﻝﺎﺣ ﺭﺩ !ﺪﯿﻨﮐ ﺩﺭﺍﻭ ﺍﺭ Endepabot .ﺩﺭﺍﺩ ﻞﮑﺸﻣ ﻭﺩ ﺮﻫ ﻪﺑ ﮏﻤﮐ ﯼﺍﺮﺑ ﺪﯿﻔﻣ ﯼﺭﺍﺰﺑﺍ Github ، ﻪﻧﺎﺘ .ﺪﯿﻨﮐ ﻩﺩﺎﻔﺘﺳﺍ ﺪﯾﺪﺟ ﯼﺎﻫ ﯽﮔﮋﯾﻭ ﻥﺩﺮﮐ ﻪﻓﺎﺿﺍ ﺎﯾ ﺪﮐ ﺩﻮﺒﻬﺑ ﯼﺍﺮﺑ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ﺎﻤﺷ ﺖﻗﻭ ﺭﺩ :ﺯﺍ ﺪﻨﺗﺭﺎﺒﻋ ﻑﺪﻫ ﻭﺩ .ﺩﺭﺍﺩ ﯽﯾﺍﺪﺘﺑﺍ ﺎًﺘﺒﺴﻧ ﺕﺎﻣﺍﺰﻟﺍ Real Python Reader ﻪﺘﺴﺑ ،ﺎﺠﻨﯾﺍ .<ﺪﮐ //> ﺭﺎﮐ ﺵﺩﺮﮔ/Code> .github> ﺭﺩ ﻪﻧ ، ﺪﻨﮐ ﯽﻣ ﯽﮔﺪﻧﺯ ﺩﻮﺧ .g :ﺪﯾﺯﺍﺪﻨﯿﺑ ﯽﻫﺎﮕﻧ Dependabot ﯽﯾﺎﻬﻧ ﯼﺪﻨﺑﺮﮑﯿﭘ ﻪﺑ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ،ﺪﯿﺘﺴﻫ ﺎﻨﺷﺁ ﺮﺘﺸﯿﺑ YAML .ﺪﻨﮐ ﯽﻣ ﻒﯾﺮﻌﺗ ﺭﺎﺑ ﺪﻨﭼ ﻦﯿﻨﭽﻤﻫ ﻭ ، ﺪﻨﮐ ﻮﺠﺘﺴﺟ ﻥﺁ ﺭﺩ ﺪﯾﺎﺑ ﺖﺳﺮﻬﻓ ﻡﺍﺪﮐ ﻪﮑﻨﯾﺍ ﺩﺭﻮﻣ ﺭﺩ .ﺪﻨﮐ ﻩﺎﮕﻧ ﺍﺭ ﺎﺠﻧﺁ ،ﺖﺳﺍ ﻩﺪﺷ ﻩﺩﺍﺩ ﻥﺎﺸﻧ .ﺪﯿﻨﮐ ﻩﺩﺎﻔﺘﺳﺍ .ﺪﯿﺷﺎﺑ ﻥﺁ ﻥﺍﺮﮕﻧ ﺪﯾﺎﺑ ﻪﮐ ﺖﺳﺍ ﯼﺮﺘﻤﮐ ﺰﯿﭼ ﮏﯾ ﻭ ﺪﯿﺷﺎﺑ ﻩﺍﺮﻤﻫ ﺭﺎﮐﺩﻮﺧ ﺭﻮﻃﻪﺑ GitHu ﻪﺟﻮﺗ: ﻥﺍﺮﺑﺭﺎﮐ ﺭﺎﮐﺩﻮﺧ ﺭﻮﻃ ﻪﺑ ﻪﮐ ﯼﺍ ﻪﻨﯾﺰﮔ ﻪﻠﻤﺟ ﺯﺍ ، ﺪﯿﻨﮐ ﻩﺩﺎﻔ !ﻩﺪﻧﺮﺑ ﺮﺑﺍﺮﺑ ﻭﺩ .ﺩﺭﺬﮔ ﯽﻣ ﺍﺭ ﺎﻤﺷ ﺶﯾﺎﻣﺯﺁ ﻭ ﮏﭼ ﻪﺑ ﻪﺘﺴﺑﺍﻭ ﺕﺍﺮﯿﯿﻐﺗ ﻪﮐ ﺩﻮﺷ ﻞﺻﺎﺣ ﻥﺎﻨﯿ .ﺮﮕﯾﺩ ﺩﺭﺍﻮﻣ ﻭ :ﺖﺳﺍ ﻩﺪﻣﺁ CI/CD ﻥﺎﮔﺪﻨﻫﺩﻪﺋﺍﺭﺍ ﺮﯾﺎﺳ ﺯﺍ ﯽﻫﺎﺗﻮﮐ ﺖﺳﺮﻬﻓ ﺎﺠﻨﯾﺍ ﺭﺩ ،ﺪﯿﻨﮐ ﻥﺎﺤﺘﻣﺍ ﺍ .ﺪﯾﺭﺍﺬﮕﺑ ﮎﺍﺮﺘﺷﺍ ﻪﺑ ﺍﺭ ﺩﻮﺧ ﺕﺎﯿﺑﺮﺠﺗ ﻭ ﺪﯿﻨﮐ ﻥﺎﯿﺑ ﺕﺍﺮﻈﻧ ﺭﺩ ﺍﺭ ﻥﺁ ﺎًﻔﻄﻟ ،ﺪﯿﻨﮐ ﯽﻣ ﻩﺩﺎ .ﺪﯿﻨﮐ ﺩﺎﺠﯾﺍ ﺍﺪﺘﺑﺍ ﺯﺍ ﺍﺭ ﺩﻮﺧ ﺭﺎﮐ ﺵﺩﺮﮔ ﻭ ﺪﯿﻨﮐ ﺭﺎﮐ ﺩﻮﺧ ﯼﺎﻫ ﻪﺘﺴﺑ ﻭ ﺎﻫ ﻩﮊﻭﺮﭘ ﺎﺑ ﻪﮐ ﻪﻧﻮﮕﭼ ﻪﮐ ﺪﯿﺘﻓﺮﮔ ﺩﺎﯾ ﺎﻤﺷ ، ﺵﺯﻮﻣﺁ ﻦﯾﺍ ﺭﺩ: .ﺪﯾﺭﺍﺩ ﯽﺘﺳﺩ ﻪﻠﺧﺍﺪﻣ ﻞﻗﺍﺪﺣ ﺎﺑ ﺪﯾﺪﺟ ﯼﺎﻫﻪﺨﺴﻧ ﺭﺍﺮﻘﺘﺳﺍ ﻭ ﺎﻫﺶﯾﺎﻣﺯﺁ ﯼﺍﺮﺟﺍ ،ﺪ .ﺪﯾﻮﺷ ﺭﺎﮔﺯﺎﺳ ﺎﻫﺯﺎﯿﻧ ﺮﯿﯿﻐﺗ ﺎﺑ ﯽﺘﺣﺍﺭ ﻪﺑ ﺎﺗ ﺪﻫﺩ ﯽﻣ ﻥﺎﮑﻣﺍ ﺎﻤﺷ ﻪﺑ GitHub ﺕﺎﻣﺍﺪﻗﺍ ﯼﺮ .ﺪﯿﺘﺴﻫ ﺰﻬﺠﻣ ﺩﻮﺧ ﻥﻮﺘﯾﺎﭘ ﯼﺎﻫ ﻩﮊﻭﺮﭘ ﺪﻣﺁﺭﺎﮐ ﺱﺎﯿﻘﻣ ﻭ ﺖﯾﺮﯾﺪﻣ ﯼﺍﺮﺑ ﺎﻤﺷ ، ﺎﻫ ﻩﻮﯿﺷ ﻭ ﺎﻫ ﺩﻮﺷ ﯽﻣ ﺚﻋﺎﺑ ﺭﺎﮐ ﺵﺩﺮﮔ
on:
push:
branches:
- main
ﺭﺎﮐ ﺵﺩﺮﮔ ﻞﻏﺎﺸﻣ
# ...
jobs:
my_first_job:
name: My first job
my_second_job:
name: My second job
# ...
jobs:
my_first_job:
name: My first job
runs-on: ubuntu-latest
# ...
my_second_job:
name: My second job
runs-on: windows-latest
# ...
ubuntu-20.24
،ﻝﺎﺜﻣ ﻥﺍﻮﻨﻋ ﻪﺑ ﺭﺎﮐ ﺵﺩﺮﮔ ﻞﺣﺍﺮﻣ
ﻥﻮﺘﯾﺎﭘ ﯼﺍﺮﺑ GitHub Actions ﺯﺍ ﻩﺩﺎﻔﺘﺳﺍ
Github ﺭﺍﺯﺎﺑ ﺭﺩ ﺵﻭﺎﮐ
ﺭﺎﮐ ﺵﺩﺮﮔ ﺭﺩ ﺕﺎﻣﺍﺪﻗﺍ ﻪﻠﻤﺟ ﺯﺍ
# ...
jobs:
my_first_job:
name: My first job
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.13"
- run: python -m pip install -r requirements.txt
ﺩﻮﺧ ﺭﺎﮐ ﺵﺩﺮﮔ ﻦﯿﻟﻭﺍ ﺩﺎﺠﯾﺍ
$ git clone git@github.com:your-username/reader.git
$ cd reader/
$ git checkout github-actions-tutorial
$ mkdir -p .github/workflows/
.github/
ﻪﺷﻮﭘ ﺯﺍ ﯼﺍ ﻪﻋﻮﻤﺠﻣ ﺮﯾﺯ ﻭ ﺪﯿﻣﺎﻧ /ﺭﺎﮐ ﺵﺩﺮﮔ
lint.yml
ﻩﺪﻧﻭﺮﭘ ﺭﺩ ﺍﺭ ﺩﻮﺧ ﯼﺎﻫ ﮎﺮﺤﻣ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ، ﻉﻭﺮﺷname: Lint Python Code
on:
pull_request:
branches:
- master
push:
branches:
- master
workflow_dispatch:
master
ﻪﺧﺎﺷ ﺭﺩ ﺪﮐ ﻡﺎﻏﺩﺍ ﯼﺍﺮﺑ ﺶﺸﮐ ﺖﺳﺍﻮﺧﺭname: Lint Python Code
on:
pull_request:
branches:
- master
push:
branches:
- master
workflow_dispatch:
jobs:
lint: # The name of the job
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.13"
cache: "pip"
ubuntu-latest
ﻥﺍﻮﻨﻋ ﻪﺑ ﺍﺭ ﺭﺎﮐ ﺵﺩﺮﮔ ﻦﯾﺍ ﯼﺍﺮﺑ ﻩlint
ﺭﺎﮐ ﻪﺑ ﺮﮕﯾﺩ ﻪﻠﺣﺮﻣ ﻭﺩ ﻥﺩﻭﺰﻓﺍ ﺎﺑ ﺍﺭ ﺭﺎﮐ ﻦﯾﺍ ﺪﯿname: Lint Python Code
on:
pull_request:
branches:
- master
push:
branches:
- master
workflow_dispatch:
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.13"
cache: "pip"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install ruff
- name: Run Ruff
run: ruff check --output-format=github
ﺕﺎﻣﺮﻓ-ﯽﺟﻭﺮﺧ-
ﺐﺴﭼﺮﺑ ﺎﺑ github
ﺭﺎﮐ ﺵﺩﺮﮔ ﺭﺎﮐﺩﻮﺧ ﺖﺴﺗ ﺭﺎﮐ ﺵﺩﺮﮔ ﮏﯾ ﺩﺎﺠﯾﺍ
pytest
ﺩﺭﻮﻣ ﺭﺩ ﻼًﺒﻗ ﻪﮐ ﯽﯾﺎﻫﺰﯿﭼ ﻪﺑ ﻪﺟﻮﺗ ﺎﺑ ﻭname: Run Tests
on:
push:
branches:
- master
pull_request:
branches:
- master
workflow_call:
workflow_dispatch:
ﺯﺍ ﻩﺩﺎﻔﺘﺳﺍ .ﺪﯿﻨﮐ ﯽﻣ ﺍﺭ ﺭﺎﮐ ﻦﯾﺍ ، ﺪﯿﻨﮐ ﯽﻣ ﯽﻧﺍﻮﺧﺍﺮﻓ ﺩﻮﺧ ﺭﺎﮐ
# Github-username/repo/path/to/workflow@version
- uses: realpython/reader/.github/workflows/test.yml@master
ﻥﻮﺘﯾﺎﭘ ﻪﺨﺴﻧ ﻦﯾﺪﻨﭼ ﯼﻭﺭ ﺮﺑ ﺖﺴﺗ
# ...
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.13"
cache: "pip"
# ...
# ...
ﯼﮋﺗﺍﺮﺘﺳﺍ ﺲﯾﺮﺗﺎﻣ ﮏﯾ ﺪ
name: Run Tests
on:
push:
branches:
- master
pull_request:
branches:
- master
workflow_call:
workflow_dispatch:
jobs:
testing:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
name: Run Tests
on:
push:
branches:
- master
pull_request:
branches:
- master
workflow_call:
workflow_dispatch:
jobs:
testing:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
ﻪﺨﺴﻧ ﺪﯿﻨﮐ ﻪﻌﺟﺍﺮﻣ -code> Python> ﻪﺑ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ﻥﻮﻨﮐ
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
matrix.os
ﺎﺑ ﺲﯾﺮﺗﺎﻣ ﺭﺩ ﻪﮐ ﺖﺴﺗ ﺭﺎﮐ ﺵﺩﺮﮔ ﻥﺩﺮﮐ ﯽﯾﺎﻬﻧ
pytest
ﺖﯾﺎﻬﻧ ﺭﺩ ﻭ ﺪﻨﮐ ﺐﺼﻧ ﺍﺭ ﻩﺪﻨﻫﺩ ﻪﻌﺳﻮﺗ ﯼﺎﻫ ﯽﮕﺘﺴﺑﺍﻭname: Run Tests
on:
push:
branches:
- master
pull_request:
branches:
- master
workflow_call:
workflow_dispatch:
jobs:
testing:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install .[dev]
pytest
ﯼﺍﺮﺟﺍ ﻩﺪﻧﺎﻣ ﯽﻗﺎﺑ ﻪﻠﺣﺮﻣ ﺎﻬﻨﺗ .ﺪﯾﺭﺍﺩ ﺯﺎﯿﻧ ﺯﺎﯿﻧ ﺩﺭﻮﻣ ﯼﺎﻫname: Run Tests
on:
push:
branches:
- master
pull_request:
branches:
- master
workflow_call:
workflow_dispatch:
jobs:
testing:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install .[dev]
- name: Run Pytest
run: pytest
PyPI ﺭﺩ ﺭﺎﮐﺩﻮﺧ ﺕﺭﻮﺻ ﻪﺑ ﺩﻮﺧ ﻪﺘﺴﺑ ﺭﺎﺸﺘﻧﺍ
deploy.yml
ﻩﺪﻧﻭﺮﭘ ﯼﺍﺮﺑ ﺭﺎﮐ ﺵﺩﺮﮔ ﻞﺣﺍﺮﻣ ﺎﺠﻨﯾﺍ ﺭﺩdist/
ﻪﺷﻮﭘ ﺭﺩ ﯽﺟﻭﺮﺧ ﯼﺎﻫ ﻞﯾﺎﻓ ﻥﺩﺍﺩ ﻪﺘﺴﺑ ﺖﺧﺎﺳ ﻭ ﻢﯿﻈﻨﺗ
name: Publish to PyPI
on:
push:
tags:
- "*.*.*"
$ git tag -a "1.0.0" -m "1.0.0"
$ git push --tags
name: Publish to PyPI
on:
push:
tags:
- "*.*.*"
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install .[build]
- name: Build package
run: python -m build
dist
ﻡﺎﻧ ﻪﺑ ﯼﺍ ﻪﺷﻮﭘ ﺭﺩ ﺍﺭ ﻊﯾﺯﻮﺗ ﯼﺎﻫ ﻩﺪﻧﻭﺮﭘ ﺪﯾﺭﺍﺩ ﻪﮕﻧ ﻦﻤﯾﺍ ﺍﺭ ﺩﻮﺧ ﯼﺎﻫﺯﺍﺭ
secrets
ﻪﻨﯿﻣﺯ ﺯﺍ ﻩﺩﺎﻔﺘ ﺎﻤﺷ ﻪﺘﺴﺑ ﺭﺍﺮﻘﺘﺳﺍ
name: Publish to PyPI
on:
push:
tags:
- "*.*.*"
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install .[build]
- name: Build package
run: python -m build
- name: Test publish package
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
repository-url: https://test.pypi.org/legacy/
- name: Publish package
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
dist
secrets.PYPI_API_TOKEN
ﺪﻨﻧﺎﻣ ﯽﻔﺨﻣ ﻪﻨﯿﻣﺯ ﻪﺑ ﯽﺳﺮﺘﺳﺩ ﯼ url-url
ﻥﺰﺨﻣ ﮏﯾ ﺪﯾﺎﺑ ، test.pypi.org ﻪﺑ ﻪﺘﺴﺑ ﻥﺩﺍﺩ ﺭ[build-system]
requires = ["setuptools>=61.0.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "username-realpython-reader"
# ...
GitHub ﻂﯿﺤﻣ ﯼﺎﻫﺮﯿﻐﺘﻣ ﻪﺑ ﯽﺳﺮﺘﺳﺩ
GITHUB_TOKEN
ﻡﺎﻧ ﻪﺑ ﯽﻄﯿﺤﻣ ﺮﯿﻐﺘﻣ ﮏﯾ ﻢﯿﻈﻨﺗ ﺎﻬﻧﺁ ﺯﺍ ﯽﮑﯾ ﻪﮐ ﺩﺭﺍﺩname: Publish to PyPI
on:
push:
tags:
- "*.*.*"
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install .[build]
- name: Build package
run: python -m build
- name: Test publish package
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
repository-url: https://test.pypi.org/legacy/
- name: Publish package
uses: pypa/gh-action-pypi-publish@release/v1
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
- name: Create GitHub Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release create ${{ github.ref_name }} ./dist/* --generate-notes
ﯽﮕﺘﺴﺑﺍﻭ ﻭ ﯽﺘﯿﻨﻣﺍ ﯼﺎﻫﯽﻧﺎﺳﺭﺯﻭﺭﻪﺑ ﯼﺯﺎﺳﺭﺎﮐﺩﻮﺧ
---
version: 2
updates:
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
"/"
) ﻮﻠﺟ ﻪﺑ ﻭﺭ ﺶﻠﺳﺍ ﺎﺑ ﻪﮐ ﺭﻮﯽﮕﺘﻔﻫ ﺯﺍ ﺪﯿﻧﺍﻮﺗ ﯽﻣ ،ﺮﺿﺎﺣ ﻝﺎﺣ ﺭﺩ .ﺖﺳﺍ ﻩﺩﺎﺳ ﻭ ﻊﯾﺮﺳ ﺮﯿ
ﯼﺪﻌﺑ ﻞﺣﺍﺮﻣ
ﻥﺎﯾﺎﭘ